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


16


Наследование и утверждения
Инварианты
Предусловия и постусловия при наличии динамического связывания
Предусловия и постусловия при наличии динамического связывания - часть 2
Как обмануть клиентов
Как быть честным
Пример
Пример - часть 2
Устранение посредника
Субподряды
Абстрактные предусловия
Абстрактные предусловия - часть 2
Правило языка
Правило языка - часть 2
Повторное объявление функции как атрибута
Замечание математического характера
Глобальная структура наследования
Универсальные классы
Нижняя часть иерархии
Универсальные компоненты
Замороженные компоненты
Запрет повторного объявления
Фиксированная семантика компонентов copy, clone и equality
Фиксированная семантика компонентов copy, clone и equality - часть 2
Не злоупотребляйте замораживанием
Ограниченная универсальность
Вектора, допускающие сложение
Вектора, допускающие сложение - часть 2
Не ОО-подход
Ограничение родового параметра
Игра в рекурсию
И снова неограниченная универсальность
Попытка присваивания
Когда правила типов становятся несносными
Когда правила типов становятся несносными - часть 2
Проблема
Механизм решения
Правильное использование попытки присваивания
Типизация и повторное объявление
Устройства и принтеры
Одно- и двусвязные элементы
Правило повторного объявления типов
Закрепленные объявления
Несогласованность типов
Примеры из практики
Серьезное затруднение
Понятие опорного элемента
Опорный элемент Current
Еще раз о базовых классах
Правила о закрепленных типах
Когда не используются закрепленные объявления
Статический механизм
Наследование и скрытие информации
Кое-что о политике
Применение
Зачем нужна такая гибкость?
Интерфейс и повторное использование реализаций
Слово в защиту реализаций
Два стиля
Выборочный экспорт
Ключевые концепции
Библиографические замечания
У16.1 Наследование: простота и эффективность
У16.2 Векторы
У16.3 Экстракт?



Начало