Управление доступом к членам класса


Принцип инкапсуляцииобеспечивается вводом в класс областей доступа:

· private(закрытый, доступный только собственным методам),

· public(открытый, доступный любым функциям),

· protected(защищенный, доступный только собственным методам и методам производных классов).

Члены класса, находящиеся в закрытой области (private), недоступны для использования со стороны внешнего кода. Напротив, члены класса, находящиеся в открытой секции (public), доступны для использования со стороны внешнего кода. При описании класса каждый член класса помещается в одну из перечисленных выше областей доступа следующим образом:

classимя_класса {

private:

определение_закрытых_членов_класса

public:

определение_открытых_членов_класса

protected:

определение_защищенных_членов_класса};

Порядок следования областей доступа и их количество в классе – произвольны.

Служебное слово, определяющее первую область доступа, может отсутствовать. По умолчаниюэта область считается private.

В закрытую (private) область обычно помещаются информационные члены, а в открытую (public) область – методы класса, реализующие интерфейс объектов класса с внешней средой. Если какой-либо метод имеет вспомогательное значение для других методов класса, являясь подпрограммой для них, то его также следует поместить в закрытую область. Это обеспечивает логическую целостность информации [5, 8-9].

После описания класса его имя можно использовать для описания объектов этого типа.

Доступ к информационным членам и методам объекта, описанным в открытой секции, осуществляется через объект или ссылку на объект с помощью операции выбора члена класса‘.’. Если работа с объектом выполняется с помощью указателя на объект, то доступ к соответствующим членам класса осуществляется на основе указателя на член класса‘->’. Объекты класса можно определять совместно с описанием класса.

Класс как область видимости

Класс является областью видимости описанных в нем членов класса. Идентификатор члена класса локален по отношению к данному классу. Одноименные идентификаторы членов класса закрывают видимостьсоответствующих внешних идентификаторов.

Операция ‘::’позволяет получить доступк одноименным объектам, внешним по отношению к текущей области видимости, в частности, к глобальным функциям и переменным, следующим образом [5, 8-9]:

имя_класса :: имя_члена_класса или

:: имя – для имен глобальных функций и переменных.



Дата добавления: 2021-07-22; просмотров: 335;


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

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.