Книга: Основы объектно-ориентированного программирования
Утверждения (Assertions)
Утверждения (Assertions)
Компоненты абстрактного типа данных имеют формально специфицированные свойства, отражаемые в соответствующих классах.
Утверждения - предусловия и постусловия программ класса и инварианты классов - играют эту роль.
Утверждения имеют три основных применения: помогают создать надежное ПО, обеспечивают систематическую документацию и являются инструментом тестирования и отладки ПО.
Язык должен давать возможность: поставлять класс и его компоненты вместе с утверждениями (предусловиями, постусловиями и инвариантами); включать инструментарий для получения документации из этих утверждений; осуществлять мониторинг утверждений во время выполнения программы.
В сообществе программных модулей, где классы являются городами, а инструкции - исполнительной ветвью власти, утверждения представляют законодательную власть. Ниже мы увидим, что играет роль судебной системы в таком сообществе.
- Бесшовность (seamlessness)
- Классы
- Утверждения (Assertions)
- Классы как модули
- Классы как типы
- Вычисления, основанные на компонентах
- Скрытие информации (information hiding)
- Обработка исключений (Exception handling)
- Статическая типизация (static typing)
- Универсальность (genericity)
- Единичное наследование (single inheritance)
- Множественное наследование (Multiple inheritance)
- Дублируемое наследование (Repeated inheritance)
- Ограниченная универсальность (Constrained genericity)
- Переопределение (redefinition)
- Полиморфизм
- Динамическое связывание
- Выяснение типа объекта в период выполнения
- Отложенные (deferred) свойства и классы
- Управление памятью (memory management) и сборка мусора (garbage collection)
- Инструкция утверждения
- Утверждения как средство для написания корректного ПО
- IV. Рисунки для утверждения планов
- Утверждения
- Утверждения не являются механизмом проверки вводимых данных
- Утверждения это не управляющие структуры
- Работа с утверждениями
- Включение функций в утверждения
- У11.3 Полные утверждения для стеков
- У11.6 Утверждения и экспорт
- Переопределение и утверждения
- Наследование и утверждения