Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 12 стр.

UptoLike

Составители: 

12
Все компоненты объекта разделяются на интерфейс и внутреннюю реализа-
цию. Интерфейс - это лицевая сторона объекта, способ работы со стороны его
программного окружениядругих объектов, модулей программы. В интерфейс-
ной части описывается, что умеет делать объект. Это похоже на ручку регулиров-
ки громкости у телевизора. Разработчик создал сложный объект (телевизор), и
ручка
регулировки громкости является тем интерфейсом, посредством которого
окружение этого объекта (телезритель) может влиять на его внутреннее состояние
(громкость звучания). В противоположность интерфейсу, внутренняя реализация
объекта представляет собой те компоненты класса, которые по замыслу разработ-
чика класса не должны быть доступны извне. Реализация - это изнанка объекта,
она определяет, как он выполняет
задание, поступающее от интерфейсных ком-
понент. Продолжая аналогию с телевизором, можно сказать, что, очевидно, су-
ществует внутренняя реализация этого сложного технического объекта в виде со-
вокупности электронных устройств, объединенных в сложные электрические
схемы. Использование интерфейсного элемента (ручки регулировки) приводит в
действие механизмы внутренней реализации, которые и обеспечивают в конечном
итоге
изменение громкости звучания прибора. При этом главным требованием
принципа инкапсуляции, повторимся, является изоляция внутренней реализации
объекта от окружения. Этим достигается целостность объекта при любых воз-
можных внешних воздействиях на него. Для телевизора эта изоляция заключается
в наличии защитных панелей, которые скрывают от пользователя детали внутрен-
него устройства и не позволяют изменять
громкость, например, путем подкручи-
вания отверткой каких-нибудь элементов электронной схемы. Для программной
системы использование защитной панели, конечно, неприменимо, однако, идея
изоляции внутреннего содержимого объекта от окружения реализуется посредст-
вом специальных средств объектно-ориентированных языков программирования.
Таким образом, инкапсуляция реализует в объектно-ориентированном про-
граммировании принципы, предложенные Д. Парнасом, которые
гласят:
    Все компоненты объекта разделяются на интерфейс и внутреннюю реализа-
цию. Интерфейс - это лицевая сторона объекта, способ работы со стороны его
программного окружения – других объектов, модулей программы. В интерфейс-
ной части описывается, что умеет делать объект. Это похоже на ручку регулиров-
ки громкости у телевизора. Разработчик создал сложный объект (телевизор), и
ручка регулировки громкости является тем интерфейсом, посредством которого
окружение этого объекта (телезритель) может влиять на его внутреннее состояние
(громкость звучания). В противоположность интерфейсу, внутренняя реализация
объекта представляет собой те компоненты класса, которые по замыслу разработ-
чика класса не должны быть доступны извне. Реализация - это изнанка объекта,
она определяет, как он выполняет задание, поступающее от интерфейсных ком-
понент. Продолжая аналогию с телевизором, можно сказать, что, очевидно, су-
ществует внутренняя реализация этого сложного технического объекта в виде со-
вокупности электронных устройств, объединенных в сложные электрические
схемы. Использование интерфейсного элемента (ручки регулировки) приводит в
действие механизмы внутренней реализации, которые и обеспечивают в конечном
итоге изменение громкости звучания прибора. При этом главным требованием
принципа инкапсуляции, повторимся, является изоляция внутренней реализации
объекта от окружения. Этим достигается целостность объекта при любых воз-
можных внешних воздействиях на него. Для телевизора эта изоляция заключается
в наличии защитных панелей, которые скрывают от пользователя детали внутрен-
него устройства и не позволяют изменять громкость, например, путем подкручи-
вания отверткой каких-нибудь элементов электронной схемы. Для программной
системы использование защитной панели, конечно, неприменимо, однако, идея
изоляции внутреннего содержимого объекта от окружения реализуется посредст-
вом специальных средств объектно-ориентированных языков программирования.
    Таким образом, инкапсуляция реализует в объектно-ориентированном про-
граммировании принципы, предложенные Д. Парнасом, которые гласят:

                                      12