Достоинства и недостатки ООП

Вопрос

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

 

 

КОММЕНТАРИИ К ВОПРОСАМ, ВЫНОСИМЫМ НА ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН ПО КУРСУ

 

 

Оренбург 2012


1. Объектно-ориентированная методология разработки программ. Достоинства и недостатки объектно-ориентированного подхода. Привести пример описания объектного типа.

 

Объектно-ориентированное программирование (ООП) - это методика разработки программ, в основе которой лежит понятие класса как некоторой структуры, описывающей совокупность однотипных объект реального мира, их поведение. Задача, решаемая с использованием методики ООП, описывается в терминах классов и операций, производимыми над объектами этого класса. Программа при таком подходе представляет собой набор реализованных объектов и связей между ними. Другими словами можно сказать, что объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение.

 

 

Рисунок 1 – Основные средства объектно-ориентированного языка программирования

 

Достоинства ООП:

- Основным достоинством объектно-ориентированного программирования по сравнению с модульным программированием является «более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку.

- Кроме этого, объектный подход предлагает новые способы организации программ, основанные на механизмах наследования, полиморфизма, композиции, наполнения.

- Эти механизмы позволяют конструировать сложные объекты из сравнительно простых. В результате существенно увеличивается показатель повторного использования кодов и появляется возможность создания библиотек классов для различных применений.

 

Недостатки ООП обуславливаются следующим:

- Освоение базовых концепций ООП не требует значительных усилий. Однако разработка библиотек классов и их использование требуют существенных трудозатрат.

- Документирование классов – задача более трудная, чем это было в случае процедур и модулей.

- В сложных иерархиях классов поля и методы обычно наследуются с разных уровней. И не всегда легко определить, какие поля и методы фактически относятся к данному классу.

- Код для обработки сообщения иногда «размазан» по многим методам (иначе говоря, обработка сообщения требует не одного, а многих методов, которые могут быть описаны в разных классах).

Основной недостаток ООП - некоторое снижение быстродействия за счет более сложной организации программной системы.