Статус экспорта процедур создания
Статус экспорта процедур создания
Для двух процедур создания, объявленных в классе 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. Важно помнить, что статус экспорта порождающего вызова и статус экспорта обычного вызова не зависят друг от друга, они устанавливаются независимо в разных предложениях.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Статус подключений
Статус подключений Внутренне PHP имеет три статуса подключения:При нормальном выполнении сценария активно состояние NORMAL. Если во время загрузки страницы пользователь нажал кнопку STOP, активным становится состояние ABORTED. Если сценарий выполняется дольше отведенного ему
О сомнительной пользе экспорта испорченных продуктов
О сомнительной пользе экспорта испорченных продуктов Когда администрация президента Обамы решила прибегнуть к интеллектуальной помощи интернета для усовершенствования американской демократии, она не ожидала, что возникнет столько проблем. Когда работающие на Обаму
Статус
Статус После регистрации ICQ, постоянно будет гостить в вашей области уведомлений (она находится в правой части Панели задач) в виде специального значка. В момент подключения к Интернету вместо значка появится изображение цветка. Если лепестки цветка зеленые, то
1.7.1 Состояние и статус стандартов
1.7.1 Состояние и статус стандартов IAB периодически публикует информацию о работе над протоколами. Стадии разработки определяют текущее состояние протокола:? Experimental (экспериментальный)? Proposed (предлагаемый)? Draft (черновик)? Standard (стандарт)Некоторые протоколы маркируются как
Статус нахождения в Skype
Статус нахождения в Skype В нижней части окна программы вы можете изменить свой статус нахождения в Skype. Большинство опций этого меню интуитивно понятны (рис. 5.23). Часть из них можно установить самому, а некоторые изменяет программа:? например, статус автоматически
Автоматизация импорта и экспорта
Автоматизация импорта и экспорта Назначение спецификации – сохранение параметров импорта или экспорта данных, необходимых программе Access для повторения той или иной операции без участия мастера. Причем в спецификации можно изменить имя исходного или конечного файла
Отличия процедур типа Function от процедур типа Sub
Отличия процедур типа Function от процедур типа Sub Между процедурами типа Function и типа Sub есть одно существенное отличие: в процедуре типа Function обязательно где-то должен присутствовать по крайней мере один оператор, задающий значение этой функции. При этом используется имя
Коммерческий статус программ. Виды распространения
Коммерческий статус программ. Виды распространения Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну
Коммерческий статус программ. Виды распространения
Коммерческий статус программ. Виды распространения Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну
Архитектурная роль селективного экспорта
Архитектурная роль селективного экспорта Селективный экспорт это не просто удобство, а неотъемлемая часть ОО-архитектуры. Он позволяет группе концептуально связанных классов обеспечить друг другу доступ ко всем своим компонентам, скрыв их от остального мира в
Статус универсальных операций
Статус универсальных операций Последние комментарии частично прояснили вопрос о статусе универсальных операций clone, copy, equal, is_equal, deep_clone, deep_equal.Эти операции не являются языковыми конструкциями, невзирая на их фундаментальную значимость для практики. Они поставляются
Предусловия и статус экспорта
Предусловия и статус экспорта Возможно, вы заметили необходимость дополнительного требования, не отраженного в принципе обоснованности предусловия. Для того чтобы клиент мог проверить предусловие, оно не должно использовать закрытые свойства класса, недоступность
Роль процедур создания
Роль процедур создания Инвариант класса задает множество свойств объектов (экземпляров класса), которые должны выполняться в стабильные времена жизни объектов. В частности, эти свойства должны выполняться сразу после создания экземпляра объекта.Стандартный механизм
Форматы экспорта, поддерживаемые Flash
Форматы экспорта, поддерживаемые Flash Все форматы экспорта графики, поддерживаемые Flash, приведены в табл. 21.1. Из этой таблицы видно, что Flash может экспортировать графику как в векторные, так и в растровые форматы. В последнем случае вся векторная графика
Параметры форматов экспорта
Параметры форматов экспорта В этом разделе описываются параметры различных графических форматов, в которые Flash может экспортировать наше изображение, а также диалоговые окна, позволяющие настраивать эти параметры. Эти окна появляются после того, как мы зададим имя