Читайте также: |
|
Объектно-ориентированное программирование (в дальнейшем ООП) — парадигма
программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы. ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование, КОП).
Главными особенностями ООП являются:
1. Инкапсуляция — это принцип, согласно которому любой класс должен
рассматриваться как чёрный ящик — пользователь класса должен видеть и
использовать только интерфейсную часть класса.
2. Наследование — способ определения нового типа, перенимая элементы
(содержание и методы) существующего и модифицируя или расширяя их.
3. Полиморфизм - позволяет единообразно ссылаться на объекты различных
классов (обычно внутри некоторой иерархии).
ООП ориентировано на разработку крупных программных комплексов, разрабатываемых командой программистов (возможно, достаточно большой). Проектирование системы в целом, создание отдельных компонент и их объединение в конечный продукт при этом часто выполняется разными людьми, и нет ни одного специалиста, который знал бы о проекте всё.
Объектно-ориентированное проектирование основывается на описании структуры и поведения проектируемой системы, то есть, фактически, в ответе на два основных вопроса: из каких частей состоит система. В чём состоит ответственность каждой из частей.
Достоинства ООП:
· Использование ООП облегчает разработку больших проектов, предоставляя разработчику
· возможность работать с абстракциями различных уровней.
· Разбиение с помощью классов позволяет объединить связанные данные и операции над
· ними, отделить их от других данных и операций.
· Инкапсуляция разграничивает реализацию класса и его ответственность, таким образом,
· изменение внутренней организации класса не повлияет на его использование.
Недостатки ООП:
· ООП-разработка часто приводит к созданию «многослойных» приложений, где
выполнение объектом требуемого действия сводится к множеству обращений к объектам более низкого уровня. В таком приложении происходит очень много вызовов методов и возвратов из методов, что, естественно, сказывается на производительности.
· Код, относящийся к «оконечным» классам иерархии наследования (которые обычно и используются программой непосредственно) — находится не только в самих этих классах, но и в их классах-предках. Относящиеся к одному классу методы фактически описываются в разных классах.
· ООП дает возможность создавать расширяемые системы (extensible systems). Это одно из самых значительных достоинств ООП и именно оно отличает данный подход от традиционных методов программирования. Расширяемость (extensibility) означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений. Компоненты могут быть добавлены на этапе выполнения.
Дата добавления: 2015-08-27; просмотров: 64 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Событийно-ориентированное программирование | | | Аспектно-ориентированное программирование |