Книга: Основы объектно-ориентированного программирования
Ограничение доступа клиентам
Ограничение доступа клиентам
Для ограничения доступа клиентов к некоторой компоненте h, будет использована возможность включения в объявление класса двух или более разделов feature. Объявление будет выглядеть следующим образом
class S2 feature
f ...
g ...
feature {A, B}
h ...
...
end
Компоненты f и g по-прежнему доступны всем клиентам. Компонент h доступен только для классов A и B, а также их потомков (прямых или косвенных). Это означает, что для некоторого x типа S2 следующий вызов
x.h
является допустимым только в исходных текстах классов A, B или одного из их потомков.
В особом случае, когда необходимо скрыть компонент i от всех клиентов, можно объявить его экспортируемым пустому списку клиентов (Не рекомендуемый стиль (см. ниже S5).):
class S3 feature { }
i ...
end
В этом случае любой вызов x.i(...) недопустим. Единственная возможность обращения к i - неквалифицированный вызов
i (...)
в тексте подпрограммы класса S3 или его потомков. Такой механизм обеспечивает полное скрытие информации.
Возможность полного скрытия компонента от клиентов доступна во многих ОО-языках, а вот механизм селективного ограничения доступа, проиллюстрированный на примере h, к сожалению, практически не поддерживается. Подобный более тонкий контроль доступа необходим достаточно часто. Вопрос о важности селективного экспорта обсуждается в дискуссии в конце лекции.
В примерах последующих лекций мы столкнемся с различными примерами селективного экспорта и рассмотрим его методологическую роль при разработке интерфейсов.
- 9.4. Права доступа к squid
- Ограничение времени ожидания для транзакций (Lock timeout)
- Ограничение результатов выборки FIRST
- Приложение 21 Образец должностной инструкции начальника отдела по работе с сетевыми клиентами
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- 10.5. Транзакции и пути доступа меню
- Настройка доступа пользователей к рабочей книге
- 3. Ограничение целостности по состоянию
- 1. Ограничение функциональной зависимости
- 3.5 Проблемы доступа при использовании нескольких протоколов
- Есть ли быстрый способ доступа к папкам?
- После переустановки Windows нет доступа к папке Мои документы или нельзя удалить оставшуюся от старой системы папку Docu...