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

Проверка типов

Проверка типов

Используя универсализацию, можно гарантировать, что структура данных будет содержать элементы определенного типа. Допустим, класс содержит объявления:

sc: STACK [CIRCLE]; sa: STACK [ACCOUNT]; c: CIRCLE; a: ACCOUNT.

Тогда в программах этого класса допустимы следующие инструкции:

sc.put (c) -- Втолкнуть круг в стек кругов
sa.put (a) -- Втолкнуть счет в стек счетов
c := sc.item -- Сущности круг присвоить вершину стека кругов.

Но каждая из следующих инструкций недопустима и будет отвергнута:

sc.put (a); -- Попытка: Втолкнуть счет в стек кругов.
sa.put (c); -- Попытка: Втолкнуть круг в стек счетов.
c:= sa.item -- Попытка: Дать кругу значение счета.

Это исключает ошибочные операции, подобные попытке вычитания денег из круга.

Оглавление книги


Генерация: 0.255. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз