18c0693f

Определения


Начнем с определения термина типа. За основу возмем определение термина абстрактный тип данных (АТД), данное Бертраном Мейером (Bertrand Meyer) [].

Спецификация АТД состоит из четырех разделов:

Далее будем придерживаться следующих соглашений:

В простых и привычных случаях , когда это не приводит к путанице, типом можно называть домен типа. Например, можно называть типом прямое произведение двух множеств A ? B, подразумевая, что имеется спецификация функций проекции. Обозначение A ? B, мыслимое без функций проекции – это домен типа, A ? B, мыслимое вместе с аксиомами функций проекции, – это тип.

Далее, уточним следующее определение Мейера []: Класс – это абстрактный тип данных, поставляемый с возможно частичной реализацией.

Спецификация (то есть тип), в которой произведена замена аксиом, описывающих попарное поведение функций, на частично определенные функции, будем называть аппликативной реализацией. Определение класса на языке программирования L, удовлетворяющее требованиям спецификации, будет называть (обычно, императивной) L-реализацией.