Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_ООП_1_2 Побудова об'єктної моделі предметно...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
137.73 Кб
Скачать

В чем особенности абстракции и инкапсуляции в ооп

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

В классе «Материальная точка» скрыты многие промежуточные переменные и функции, служащие для вычисления реального движения. Снаружи оставлены только методы определения новых координат при перемещении. Этого достаточно, чтобы запрограммировать движение точки и рассчитать требуемые усилия.

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

Поэтому абстрагирование, как таковое, имеет два аспекта: выделение общих и в тоже время существенных свойств, описывающих поведение ряда схожих предметов.

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

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

10