Основы объектно-ориентированного программирования
Критерии
Критерии
Различные реализации
Представления стеков
Опасность излишней спецификации
Какова длина второго имени?
К абстрактному взгляду на объекты
Использование операций
Политика невмешательства в обществе модулей
Согласованность имен
Можно ли обойтись без абстракций?
Формализация спецификаций
Специфицирование типов
Универсализация (Genericity)
Перечисление функций
Категории функций
Раздел АКСИОМЫ
Две или три вещи, которые мы знаем о стеках
Частичные функции
Предусловия
Полная спецификация
Ничего кроме правды
От абстрактных типов данных к классам
Классы
Как создавать эффективный класс
Роль отложенных классов
Абстрактные типы данных и скрытие информации
Переход к более императивной точке зрения
Назад к тому, с чего начали?
Конструирование объектно-ориентированного ПО
За пределами программ
Дополнительные темы
Еще раз о неявности
Соотношение спецификации и проектирования
Соотношение классов и записей
Альтернативы частичным функциям
Полна ли моя спецификация?
Доказательство достаточной полноты
Ключевые концепции
Библиографические замечания
У6.1 Точки
У6.2 Боксеры
У6.3 Банковские счета
У6.4 Сообщения
У6.5 Имена
У6.6 Текст
У6.7 Покупка дома
У6.8 Дополнительные операции для стеков
У6.9 Ограниченные стеки
У6.10 Очереди
У6.11 Распределители
У6.12 Булевский -- BOOLEAN
У6.13 Достаточная полнота
У6.14 Непротиворечивость
Содержание раздела