Основы объектно-ориентированного программирования
Объекты
Объекты
Что такое объект?
Базовая форма
Простые поля
Простое представление книги - класс BOOK
Писатели
Ссылки
Идентичность объектов
Объявление ссылок
Ссылка на себя
Взгляд на структуру объектов периода выполнения
Объекты как средство моделирования
Четыре мира программной разработки
Реальность: "седьмая вода на киселе"
Работа с объектами и ссылками
Динамическое создание и повторное связывание
Инструкция создания
Общая картина
Для чего необходимо явное создание объектов?
Процедуры создания
Перекрытие инициализации по умолчанию
Статус экспорта процедур создания
Правила, применимые к процедурам создания
Процедуры создания и перегрузка
Еще о ссылках
Состояния ссылок
Вызовы и пустые ссылки
Операции над ссылками
Присоединение ссылки к объекту
Сравнение ссылок
Значение void
Клонирование и сравнение объектов
Копирование объектов
Глубокое клонирование и сравнение
Глубокое хранилище: первый взгляд на сохраняемость
Составные объекты и развернутые типы
Ссылок не достаточно
Развернутые типы
Роль развернутых типов
Агрегирование
Свойства развернутых типов
Недопустимость ссылок на подобъекты
Присоединение: две семантики - ссылок и значений
Присоединение
Присоединение: ссылочное и копии
Гибридное присоединение
Проверка эквивалентности
Работа со ссылками: преимущества и опасности
Динамические псевдонимы
Семантика использования псевдонимов
Выработка соглашений для динамических псевдонимов
Псевдонимы в ПО и за его пределами
Инкапсуляция действий со ссылками
Обсуждение
Графические соглашения
Ссылки и простые значения
Форма операций клонирования и эквивалентности
Статус универсальных операций
Ключевые концепции
Библиографические замечания
У8.1 Книги и авторы
У8.2 Личности
У8.3 Проектирование нотации
Содержание раздела