Составляющие объектного подхода (основные)

При объектном подходе можно выделить четыре главных составляющих:

-абстрагирование,

-ограничение доступа,

-модульность,

-иерархия,

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

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

Существует множество абстракций рассмотрим некоторые из них:

1)абстракция сущности объекта – объект представляет собой модель существенных сторон предметной области,

2)абстракция поведения – объект состоит из множества операций, каждая из которых выполняет определенную функцию,

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

4)произвольная абстракция – объект включает в себя набор независимых по отношению друг к другу операций и т. д.

Все абстракции обладают, как статическими, так и динамическими свойствами.

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

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

Модульность. В таких ЯП, как С++ модульность является элементом конструкции, а классы и объекты составляют логическую структуру системы. Эти абстракции организуются в модули, формируя физическую структуру системы.

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

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

При объектном подходе выделяются две иерархические структуры: структура классов или иерархия по типу и структура объектов или иерархия по составу.

Основным видом иерархии по типу является иерархия наследования. Наследование – это такое соотношение между классами, когда один класс использует структурную или функциональную часть другого класса или классов, соответственно простое или множественное наследование.

Суть ООП. 1. Объектная модель


Читать еще…

Понравилась статья? Поделиться с друзьями: