Книга: Основы объектно-ориентированного программирования
Статус экспорта процедур создания
Статус экспорта процедур создания
Для двух процедур создания, объявленных в классе POINT1, предложение feature имело вид feature {NONE}. Это означает, что эти процедуры закрыты для обычных вызовов, но остаются открытыми для порождающих вызовов. Только что представленные два примера порождающих вызовов являются корректными, но нормальные вызовы, например my_point.make_cartesian (0, 1) или my_point.make_polar (1, Pi/2) некорректны, так как процедуры недоступны клиентам со статусом обычных компонентов.
Решение о закрытости процедур означает, что мы не хотим после создания точки дать возможность клиентам прямого доступа к изменению их координат, хотя они могут делать это через другие процедуры класса, например такие, как translate и scale . Конечно, это лишь одна из возможных политик, вполне разумно экспортировать процедуры создания клиентам, придавая им дополнительно статус обычных процедур.
Для процедур создания можно установить выборочный статус порождающего вызова. Для этого достаточно в предложении creation перечислить классы, которым разрешается создавать объекты:
class C creation {A, B, ...}
p1, p2,
...
Этот прием применяется значительно реже, чем задание статуса экспорта этих процедур как обычных компонентов класса в предложении feature. Важно помнить, что статус экспорта порождающего вызова и статус экспорта обычного вызова не зависят друг от друга, они устанавливаются независимо в разных предложениях.
- Процедуры создания
- Повышение производительности приложений с помощью хранимых процедур
- Увеличение глубины рекурсии процедур и триггеров
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
- 2. Пример создания базового отношения в записи на псевдокоде
- 5.5 Технологии создания моментальных снимков тома
- 4.2. Инструменты создания обзора
- 1.1.4. Турпродукт: виды, уровни, стадии создания
- Цикл создания программы
- 6.2. ПРИЕМЫ СОЗДАНИЯ ПРОДАЮЩИХ ТЕКСТОВ
- Текстовые сообщения процедуры POST
- Хранимые процедуры выбора