Принципы объектного подхода.

Объектная модель, которая является концептуальной базой объектно-ориентированной методологии, имеет четыре главных элемента:

· абстрагирование

· ограничение доступа или инкапсуляция

· модульность

· иерархия.

Без любого из этих элементов модель не будет объектно-ориентированной. Кромеглавных имеется три дополнительных элемента:

· типизация

· параллелизм

· сохраняемость или устойчивость

Эти элементы полезны в объектной модели, но не обязательны.

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

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

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

Иерархия- ранжированная (упорядоченная) система абстракций. Основными видами иерархических структур, применительно к сложным системам, является структура классов (иерархия "is -а") и структура объектов (иерархия "partof). Принцип наследования позволяет упростить выражения абстракции, делая проект менее громоздким и более выразительным.

Наследование - это такая иерархичность абстракций, в которой подклассы наследуют строение от одного или нескольких суперклассов. В подклассе, кроме того, могут быть определены дополнительные атрибуты и методы. Суперклассы отражают наиболее общие, а подклассы более специализированные абстракции. Поэтому о наследовании говорят, как об иерархии «обобщение специализации». Различают случаи простого и множественного наследования. В первом случае подкласс может определяться только на основе одного суперкласса, во втором случае суперклассов может быть несколько. Если в языке или системе поддерживается единичное наследование классов, набор классов образует древовидную иерархию. При поддержании множественного наследования классы связаны в ориентированный граф с корнем, называемый решеткой классов.

Дополнительные элементы:

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

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

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

Сохраняемость /устойчивость- это свойство объекта существовать во времени и/или пространстве, вне зависимости от процессов, породивших

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

Полиморфизм — это возможность использования экземпляра класса-наследника там, где требуется экземпляр базового класса. Однако, существуют языки, в которых нет выраженного понятия «наследование» или же для реализации полиморфных объектов не требуется использование наследования (например, в Perl).

К недостаткам ООП относятся некоторое снижение производительности функционирования ПО (которое, однако, по мере роста производительности компьютеров становится все менее заметным) и высокие начальные затраты.

 








Дата добавления: 2016-05-25; просмотров: 5126;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.