Книга: Основы объектно-ориентированного программирования
Еще раз о неявности
Еще раз о неявности
Неявная природа абстрактных типов данных и классов, рассмотренная выше, отражает одну из важных проблем конструирования программ.
Вполне законен вопрос о различии между упрощенной спецификацией АТД, использующей объявление функций
x: POINT REAL
y: POINT REAL
и объявлением типа в таком традиционном языке программирования, как Pascal:
type
POINT =
record
x, y: real
end
На первый взгляд эти два объявления представляются эквивалентными: оба утверждают, что с типом POINT связаны два значения x и y типа REAL. Но между ними имеется существенная, хотя и тонкая разница:
[x]. Запись в языке Pascal является законченной и явной: она показывает, что объект POINT включает два данных поля и ничего кроме них.
[x]. Объявление функций АТД не несут такого смысла. Они показывают, что объект типа POINT можно запрашивать о значениях его x и y, но не исключают других запросов, например, о массе и скорости точки в кинематическом приложении.
С упрощенной математической точки зрения можно считать, что приведенное выше объявление в Паскале является определением математического множества POINT как декартова произведения:
POINT REAL ? REAL,
где знак
Если имеются спецификации некоторого понятия, то может появиться желание переместить ее из неявного мира в явный, идентифицируя понятие с декартовым произведением применимых к нему простых запросов, например захочется идентифицировать точки с парами <x, y>. Такой процесс идентификации можно рассматривать как определение перехода от анализа и спецификации к проектированию и реализации.
- От исключительной полезности к стратегическому ценообразованию
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Решетка «упразднить – снизить – повысить – создать»
- Миграция между различными версиями InterBase
- 4.7. Игровые разминки и упражнения-энергизаторы
- Совместимость клиентов и серверов различных версий
- Выбор стратегии ценообразования
- Преобразование XML в реляционную базу данных
- 1.1.4. Еще немного терминов
- Размер страницы базы данных
- Разрушаем легенду
- Раздача прав