Основы объектно-ориентированного программирования


              

Основы объектно-ориентированного программирования

Наследование и утверждения
Инварианты
Предусловия и постусловия при наличии динамического связывания
Предусловия и постусловия при наличии динамического связывания - 2

Как обмануть клиентов
Как быть честным
Пример
Пример - 2
Устранение посредника
Субподряды
Абстрактные предусловия
Абстрактные предусловия - 2
Правило языка
Правило языка - 2

Повторное объявление функции как атрибута
Замечание математического характера
Глобальная структура наследования
Универсальные классы
Нижняя часть иерархии
Универсальные компоненты
Замороженные компоненты
Запрет повторного объявления
Фиксированная семантика компонентов copy, clone и equality
Фиксированная семантика компонентов copy, clone и equality - 2

Не злоупотребляйте замораживанием
Ограниченная универсальность
Вектора, допускающие сложение
Вектора, допускающие сложение - 2
Не ОО-подход
Ограничение родового параметра
Игра в рекурсию
И снова неограниченная универсальность
Попытка присваивания
Когда правила типов становятся несносными

Когда правила типов становятся несносными - 2
Проблема
Механизм решения
Правильное использование попытки присваивания
Типизация и повторное объявление
Устройства и принтеры
Одно- и двусвязные элементы
Правило повторного объявления типов
Закрепленные объявления
Несогласованность типов

Примеры из практики
Серьезное затруднение
Понятие опорного элемента
Опорный элемент Current
Еще раз о базовых классах
Правила о закрепленных типах
Когда не используются закрепленные объявления
Статический механизм
Наследование и скрытие информации
Кое-что о политике

Применение
Зачем нужна такая гибкость?
Интерфейс и повторное использование реализаций
Слово в защиту реализаций
Два стиля
Выборочный экспорт
Ключевые концепции
Библиографические замечания
У16.1 Наследование: простота и эффективность
У16.2 Векторы

У16.3 Экстракт?
Содержание