Общая информация
Видео: Суть ООП. 1. Объектная модель
ООП - это стиль программирования, появившийся в 80 годах 20 века. В отличие от процедурных языков, где данные и инструкции по их обработке существуют отдельно, в объектно-ориентированном программировании эта информация объединяется в единую сущность.
Основные принципы ООП
У объектно-программного программирования есть свои постулаты. Принципы ООП - это его основные идеи. Выделяют три самых главных из них: наследование, полиморфизм и инкапсуляция. Ниже каждый будет рассмотрен более подробно. Основы програмирования на языках ООП заключаются в использовании объектов и классов. При переходе от процедурного стиля написания исходного кода к объектно-ориентированному нередко возникают сложности, однако большинство разработчиков находят в ООП множество плюсов.
Инкапсуляция
Инкапсуляция - это использование объединения данных и инструкций по их обработке в единую сущность - класс. Во время написания программ на одном из языков ООП происходит разграничение между информацией внутри сущности и снаружи. Таким образом достигается обеспечение безопасности данных и методов их реализации от внешних воздействий, например, со стороны других классов, не относящихся к этому объекту. Внутри сущности данные успешно взаимодействуют друг с другом, но надежно защищены от несанкционированного доступа извне.
Наследование
Видео: Урок 8.1. Основы ООП
Второй принцип ООП - наследование - это возможность одного класса использовать методы другого без повторения их фактической реализации. Наследование позволяет избавиться от избыточности исходного кода.
Полиморфизм
Видео: #11 Программирование в Delphi. ООП. Классы
Еще один принцип ООП - полиморфизм. Его использование означает, что для манипуляции с объектами разной степени сложности можно создать один интерфейс, который будет по-разному реагировать на события и одновременно правильно реализовывать поставленные задачи.
Языки ООП
Принципы ООП используются в таких наиболее популярных языках программирования, как C++ и Java, на которых разработана значительная часть программ и приложений. Есть и менее используемые языки ООП - это Delphi, Object Pascal, Ruby и многие другие.
Критика ООП
Несмотря на в основном позитивные высказывания в сторону данной методологии, нередко принципы ООП подвергаются и критике. Как и у процедурного программирования, у ООП есть свои недостатки.
Во-первых, сложность перехода. Чтобы понять принципы ООП, потребуется достаточно много времени, тем более людям, вплотную работающим только с процедурными языками программирования.
Во-вторых, недостатком является более сложная документация, так как потребуется не только описывать классы и объекты, но и конкретные случаи их реализации.
В-третьих, излишняя универсальность методов может привести к тому, что исходный код и разрабатываемые программы будут перегружены невостребованными в данном конкретном случае функциями и возможностями. Кроме того, отмечают неэффективность с точки зрения распределения памяти. Однако вне зависимости от мнения окружающих число программистов ООП постоянно растет, а сами языки стремительно развиваются.