Люка Карделли, Мартин Абади: Классы и типы в языках, основанных на классах
Перевод: Пискунов A.Г.
28 октября 2010 г.
АННОТАЦИЯ
Некоторые выдержки из монографии ’Теория Объектов’ Карделли, Абади, посвященные обсуждению понятий тип, класс, подкласс, выделение типа (subtyping), наследование (inheritance) и их отличий. Может быть использован как введение в объектно - ориентированное программирование.
Перевод статьи Luca Cardelli A Semantics of Multiple Inheritance из журнала Information and Computation 76, 138-164, 1988.
В статье используются приемы RAISE Development Method-а, от группы авторов называемой далее RDG (RAISE Development Group), для анализа примера Роберта Мартина, иллюстрирующего принцип подстановки Лисков. Кроме того, приводится технический прием проектирования RDG (впервые упомянутый Гуттагом) дополняющий принципы дизайна по контракту.
Содержание:
1. ВВЕДЕНИЕ
2. ОПРЕДЕЛЕНИЯ
3. СПЕЦИФИКАЦИИ ПРИМЕРА
3.1 Тип Rectangle
3.2 Тип Square
4. ПРИМЕР НАРУШЕНИЯ ПРИНЦИПА ПОДСТАНОВКИ
5. УТОЧНЕНИЕ ТЕРМИНОВ
6. ОТНОШЕНИЕ НАТУРАЛЬНЫХ И ЦЕЛЫХ
7. ПЕРЕСМОТР ПРОБЛЕМЫ
8. ЗАКЛЮЧЕНИЕ
При разработке unit тестов в Visual Studio часто хочется создать какой-то базовый клас для тестирования базовой лоники. Например у нас есть такой класс:
|
Программирование для чайников.
|