Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Объектно-ориентированное программирование

Завершение проекта | Модель водопада | Итеративная разработка | Спиральная модель | Вычислительные системы | Операционные системы | Выбор языка и среды программирования | Краткий обзор распространенныхпромышленных языков программирования и программных платформ | Структурное программирование | Функциональное программирование |


Читайте также:
  1. Аспектно-ориентированное программирование
  2. Аспектно-ориентированное программирование
  3. Аспектно-ориентированное программирование
  4. Визуально-ориентированное программирование
  5. Визуально-ориентированное программирование
  6. Визуально-ориентированное программирование
  7. Логическое программирование.

Объектно-ориентированное программирование (в дальнейшем ООП) — парадигма

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

 

Главными особенностями ООП являются:

 

1. Инкапсуляция — это принцип, согласно которому любой класс должен

рассматриваться как чёрный ящик — пользователь класса должен видеть и

использовать только интерфейсную часть класса.

2. Наследование — способ определения нового типа, перенимая элементы

(содержание и методы) существующего и модифицируя или расширяя их.

3. Полиморфизм - позволяет единообразно ссылаться на объекты различных

классов (обычно внутри некоторой иерархии).

 

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

Объектно-ориентированное проектирование основывается на описании структуры и поведения проектируемой системы, то есть, фактически, в ответе на два основных вопроса: из каких частей состоит система. В чём состоит ответственность каждой из частей.

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

 

· Использование ООП облегчает разработку больших проектов, предоставляя разработчику

· возможность работать с абстракциями различных уровней.

· Разбиение с помощью классов позволяет объединить связанные данные и операции над

· ними, отделить их от других данных и операций.

· Инкапсуляция разграничивает реализацию класса и его ответственность, таким образом,

· изменение внутренней организации класса не повлияет на его использование.

 

Недостатки ООП:

· ООП-разработка часто приводит к созданию «многослойных» приложений, где

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

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

· ООП дает возможность создавать расширяемые системы (extensible systems). Это одно из самых значительных достоинств ООП и именно оно отличает данный подход от традиционных методов программирования. Расширяемость (extensibility) означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений. Компоненты могут быть добавлены на этапе выполнения.

 


Дата добавления: 2015-08-27; просмотров: 64 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Событийно-ориентированное программирование| Аспектно-ориентированное программирование

mybiblioteka.su - 2015-2024 год. (0.009 сек.)