Недопустимость ссылок на подобъекты

Недопустимость ссылок на подобъекты

Заключительное замечание ответит на вопрос, как сочетаются ссылки и подобъекты. Развернутый класс или развернутый тип, основанный на ссылочном классе, может иметь ссылочные атрибуты. Вполне допустимо, чтобы подобъект содержал ссылки на объекты, как показано на рисунке:

Рис. 8.21.  Подобъект со ссылкой на другой объект

Приведенная ситуация предполагает следующие объявления:

Class COMPOSITE1 feature

other: SOME_TYPE

sub: expanded C

end

class C feature

ref: D

x: OTHER_TYPE; y: YET_ANOTHER_TYPE

end

class D feature

...

end

Каждый экземпляр класса COMPOSITE, такой как O_COMP на рис.8.21, имеет подобъект, (OC на рисунке) содержащий ссылку ref, которая может быть присоединена к объекту (OD на рисунке).

Но противоположная ситуация, где ссылка становится присоединенной к объекту, невозможна. Это будет следовать из правил присваивания и передаче аргументов, изучаемых в следующем разделе. Итак, структура времени выполнения никогда не может находиться в ситуации, показанной на рис.8.22, где OE содержит ссылку на OC, - подобъект O_CMP1, и OC содержит ссылку на себя.

Рис. 8.22.  Ссылка на подобъект

Это правило открыто для критики, поскольку оно ограничивает моделирующие возможности подхода. Предыдущая версия нотации книги допускала ссылки на подобъекты. Но эта возможность порождала больше проблем, чем она того стоит:

[x]. С позиций реализации: механизм сборки мусора в этом случае должен быть готов справляться со ссылками на подобъекты, даже если в текущем выполнении будет всего несколько подобных ссылок или их вообще не будет. Это приводит к существенной потере производительности.

[x]. С позиций моделирования: ссылки на подобъекты заставляют отказаться от упрощения описания системы, что можно сделать, определив единственную ссылочную единицу - объект.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Псевдоклассы ссылок

Из книги автора

Псевдоклассы ссылок Обычно браузеры пользователей по-разному отображают просмотренные и непросмотренные ссылки. В CSS предусмотрены псевдоклассы: link и: visited для различения этих типов ссылок и задания им своего стиля:•:link – применяется, если ссылка не была


Счетчики ссылок

Из книги автора

Счетчики ссылок Одно из главных свойств, которое реализуется с помощью объектов kobject, — это унифицированная система поддержки счетчиков ссылок. После инициализации количество ссылок на объект устанавливается равным единице. Пока значение счетчика ссылок на объект не


Покупка ссылок

Из книги автора

Покупка ссылок Стоимость ссылочного продвижения напрямую зависит от конкурентности и частотности запросов, под которые оптимизируется каждая конкретная страница сайта. На стадии формирования семантического ядра нужно понимать, что высокочастотные запросы обойдутся


Проверка ссылок

Из книги автора

Проверка ссылок До начала рекламной кампании стоит убедиться в том, что в текстах страниц, размещенных на сайте, нет технических ошибок. К таковым относятся неправильно расставленные ссылки, отсутствие каких-либо файлов и собственно погрешности в HTML-коде, а также


Создание ссылок

Из книги автора

Создание ссылок А создаются ссылки при формировании веб-страницы очень просто. Для этого существует специальный тег <A>, имеющий свой закрывающий тег </A>. Примечание Напомню, что в сайтостроении можно набирать теги как прописными (заглавными) буквами: <A>, так и


Виды ссылок

Из книги автора

Виды ссылок Ссылки могут быть как относительными, связывающими две странички одного сайта, — например так:? <a href="info.html">Информация о сайте</a>? <a href="catalog.html">Каталог продукции</a>? <a href="gest.html">Отзывы покупателей</a>Само собой, что все HTML-файлы (странички) сайта


О закупке ссылок

Из книги автора

О закупке ссылок Без мощного ссылочного ранжирования портал не продвинуть, и, откровенно говоря, нельзя продвинуть портал, не закупая ссылок. Однако невозможно добиться хороших результатов только таким способом. Хотя многие пытаются.Приведу пример: ко мне обратился


Покупка ссылок

Из книги автора

Покупка ссылок Сейчас покупка ссылок является наиболее популярным и быстрым способом набора ссылочной массы, однако это вовсе не означает, что она идеальна. На самом деле у нее есть как неоспоримые достоинства, так и серьезные недостатки.Достоинства покупки ссылок:?


Таблица ссылок

Из книги автора

Таблица ссылок Это аналог списка литературы, но для юридических источников, прав и законов.Выделяете текст, помечаете его как ссылку, отмечаете, на что именно указывает эта ссылка: на закон, статью и т. д.А потом кнопкой Таблица ссылок  вы можете вставить в свой документ


R.4.7 Преобразования ссылок

Из книги автора

R.4.7 Преобразования ссылок Всюду, где ссылки (§R.8.2.2) инициализируются (включая передачу параметров (§R.5.2.2) и возврат значения функции (§R.6.6.3)) или используются иным образом, возможны следующие преобразования:Ссылка на данный класс может быть преобразована в ссылку на


Подсчет ссылок

Из книги автора

Подсчет ссылок При описании STL практически невозможно обойти стороной подсчет ссылок. Как будет показано в советах 7 и 33, любая архитектура, основанная на контейнерах указателей, практически всегда основана на подсчете ссылок. Кроме того, подсчет ссылок используется во


Локальность ссылок

Из книги автора

Локальность ссылок Самое время обсудить еще одну концепцию - локальность ссылок. Этот принцип представляет собой метод представления приложений, который помогает свести вероятность возникновения пробуксовки к минимуму. Это понятие предполагает, что связанные данные


6.8 Преобразования Ссылок

Из книги автора

6.8 Преобразования Ссылок Везде, где инициализируются ссылки, может выполняться следующее преобразование.Ссылка на класс может преобразовываться в ссылку на отрытый базовый класс этого класса, см.


Сравнение ссылок

Из книги автора

Сравнение ссылок Наряду с присваиванием возникает необходимость и в тесте - проверить, присоединены ли две ссылки к одному и тому же объекту. Для этого есть оператор эквивалентности =.Если x и y - сущности ссылочного типа, то выражение:x = yистинно тогда и только тогда, когда


Подсчет ссылок

Из книги автора

Подсчет ссылок Простая идея лежит в основе первого метода управления памятью - подсчета ссылок. Каждый объект хранит текущее число сделанных на него ссылок. Когда оно становится равным нулю, объект можно утилизировать.Это решение не сложно для реализации на уровне языка.