Книга: Основы объектно-ориентированного программирования
Ключевые концепции
Ключевые концепции
[x]. ОО-вычисления характеризуются высоко динамичной структурой времени выполнения, в которой объекты создаются только по запросу.
[x]. Некоторые объекты, используемые ПО, являются моделями внешних объектов (обычно косвенными). Другие объекты служат только для целей проектирования и реализации.
[x]. Объект состоит из ряда значений, называемых полями. Каждое поле соответствует атрибуту генератора объекта (класса, прямым экземпляром которого является объект).
[x]. Значение, в частности поле объекта, является объектом или ссылкой.
[x]. Ссылка может быть пустой (void) или присоединенной к объекту. Проверка условия x = Void позволяет определить текущее состояние ссылки. Корректное выполнение вызова x.f (...) возможно, если x не пустая ссылка.
[x]. Если объявление класса начинается с предложения class C ..., то сущность типа Cбудет обозначать ссылку, которая может быть присоединена к экземпляру C. Если начало объявления выглядит как expanded class D ..., то сущность типа D будет обозначать объект (экземпляр D) и никогда не может быть пустой ссылкой.
[x]. Базовые типы (BOOLEAN, CHARACTER, INTEGER, REAL, DOUBLE) определены как развернутые классы.
[x]. Развернутые объявления дают возможность определять составные объекты: объекты с подобъектами.
[x]. Объектные структуры могут содержать циклические цепочки ссылок.
[x]. Инструкция создания create x создает объект, инициализирует его поля значениями по умолчанию и присоединяет к нему x. Если в классе определены порождающие процедуры создания, то выполнение инструкции вида create x.creatproc (...) приведет, кроме того, к заданной специфической инициализации полей.
[x]. Для сущностей ссылочного типа присваивание (:=) и проверка эквивалентности (=) являются ссылочными операциями. Для сущностей развернутых типов используется семантика значений. Соответствующая семантика распространяется и на смешанные операнды.
[x]. В результате ссылочных операций появляются динамические псевдонимы. Они затрудняют получение выводов о работе системы при анализе ее текста. На практике большинство нетривиальных действий со ссылками можно инкапсулировать в библиотечные классы.
- Объекты
- Объекты как средство моделирования
- Работа с объектами и ссылками
- Процедуры создания
- Еще о ссылках
- Операции над ссылками
- Составные объекты и развернутые типы
- Присоединение: две семантики - ссылок и значений
- Работа со ссылками: преимущества и опасности
- Обсуждение
- Ключевые концепции
- Библиографические замечания
- Упражнения