Книга: Основы объектно-ориентированного программирования
Не просто коллекция функций
Не просто коллекция функций
Как отмечалось в лекции про АТД, они включают четыре элемента:
[x]. имя типа, возможно с родовым параметром (раздел TYPES);
[x]. список функций с их сигнатурами (раздел FUNCTIONS);
[x]. аксиомы, выражающие свойства результатов функций (раздел AXIOMS);
[x]. ограничения применимости функций (раздел PRECONDITIONS).
При поверхностном применении АТД часто опускают две последние части. Во многом, это лишает данный подход привлекательности, поскольку предусловия и аксиомы выражают семантические свойства функций. Если их опустить и просто рассматривать стек как инкапсуляцию операций put, remove и других, то преимущества от скрытия информации останутся, но это все. Понятие стека становится пустой оболочкой без семантики, кроме той, что остается в именах функций. (В этой книге имена функций менее информативны по причине согласованности и повторного использования, - мы сознательно выбрали общие имена - put, remove, item, а не те, которые применяются обычно для стеков - push, pop, top).
Этот риск потери семантики переносится на программирование: программы, реализующие операции соответствующего АТД, в принципе могут выполнять нечто отличное от задуманного. Утверждения предотвращают этот риск, возвращая семантику классу.
- СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- 2.4.1. Быстро, просто и портабельно: Tor на флешке
- Пересмотр функций клиента
- Вызовы функций
- При попытке скачать из Интернета МР3-файл запускается Проигрыватель Windows Media. Но мне нужно просто скачать файл. Как...
- Еще один простой шаг к созданию сайта
- Простой клиент
- 9.1.6.1. Использование функций POSIX: wait() и waitpid()
- Практическая работа 38. Создание простой таблицы
- Практическая работа 44. Создание простой таблицы с формулами
- Урок 6.4. Расчеты с использованием функций и имен ячеек