Четвертый BORLAND С++ и его окружение

       

Инкапсуляция или скрытие данных


Понятие инкапсуляция означает, что функции элементы и структуры

данных, определяющие некоторые свойства данного класса, рассматриваются в качестве единого целого. Это подразумевает "защиту" данных в

пределах класса таким образом, что только элементы класса получают к

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

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

все данные и функции элементы описываемого класса для доступа "извне".

Borland C++ предоставляет программистам три уровня доступа к

элементам объектов:

- public (общий),

- private (приватный),

- protected (защищенный).

Элементы, объявленные общими, будут доступны любому внешнему

элементу класса, любой функции элементу или выражению в программе,



когда объект является видимым.

Приватные элементы доступны только другим элементам своего же

класса. Они не доступны извне, за исключением специальных функций,

называемых "дружественными".

К защищенным элементам имеют доступ лишь некоторые из объектов.

Они доступны только элементам своего класса и любым его потомкам. Поэтому защищенные элементы занимают промежуточное положение между общими и приватными.

Примечание: приватные элементы недоступны потомкам своего класса. Поэтому и понадобились защищенные элементы.

Уровень доступности к элементам класса проиллюстрирован ниже:

Общие элементы

(public)

Защищенные

элементы (protect)

Приватные

элементы

(private)

Умелое использование уровней доступа повышает надежность программ и их способность к изменениям, ослабляя взаимозависимость между

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

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

Однако, нам важны внешние кнопки и ручки управления.



Содержание раздела