Книга: Основы объектно-ориентированного программирования
Кое-что о политике
Кое-что о политике
Что происходит со статусом экспорта при передаче компонента потомку? Наследование и скрытие информации - ортогональные механизмы. Наследование определяет отношение между классом и его потомками, экспорт - между классом и его клиентами. Класс B может свободно экспортировать или скрывать любой из компонентов f, унаследованных им от класса A. При этом доступны все возможные комбинации:
[x]. f экспортируется в классе A и в классе B (хотя и не обязательно одним и тем же клиентам);
[x]. f скрыто в A и B;
[x]. f скрыто в A, но полностью или частично экспортируется в B;
[x]. f экспортируется в A, но скрыто в B.
Правило гласит: по умолчанию f сохраняет тот статус экспорта, которым компонент был наделен в A. Однако его можно изменить, добавив предложение export в предложение наследования класса. Например:
class B inherit
A
export {NONE} f end
-- Скрыть f (возможно, экспортируемый в классе A)
...
или
class B inherit
A
export {ANY} f end
-- Экспортировать f (возможно, скрытый в классе A)
...
или
class B inherit
A
export {X, Y, Z} f end
-- Сделать f доступным определенным классам
...
- 1.1.1. Что такое объект
- Что делать
- Что делать, если при установке принтера появляется сообщение Невозможно завершение операции. Подсистема печати недоступн...
- Что дает грамотная должностная инструкция
- Как сделать, чтобы компьютер выключался
- ПОМОГАЙТЕ ДРУГИМ ПРИДЕРЖИВАТЬСЯ ПОЧТОВОГО «ЭТИКЕТА»
- Лирическое отступление
- Предисловие Кое-что новенькое – поговорим напрямую
- На что обращать внимание
- Что такое продажа?
- 5.2. Ономастическое поле
- 1.5. Потренируйте свою интуицию: что следует запомнить