Справочное руководство по языку Ада-83


Производные типы


Определение производного типа задает новый (базовый) тип, свойства которого наследуют свойства

родительского типа:

новый тип называется

производным типом.

Определение производного типа создает одновременно

производный подтип,

являющийся подтипом производного типа.

определение-производного-типа ::=

new

указание-подтипа

Указание подтипа после зарезервированного слова

new

определяет

родительский подтип.

Родительский тип является базовым для родительского подтипа. Если для родительского подтипа существует ограничение, то подобное ограничение существует и для производного подтипа; разница состоит только в том, что для ограничения диапазона и для ограничения плавающего или фиксированного типов, которое включает ограничение диапазона, значение каждой границы заменяется на соответствующее значение производного типа. Производный тип обладает следующими свойствами:

• Производный тип относится к тому же самому классу типов, что и родительский тип. Набор возможных значений для производного типа есть копия набора возможных значений для родительского типа. Если родительский тип составной, то такие же компоненты существуют и у производного типа, а подтип соответствующих компонент тот же самый.

• Для каждой базовой операции над родительским типом существует соответствующая базовая операция над производным типом. Допускается явное преобразование значения родительского типа в соответствующее значение производного типа и наоборот, как поясняется в разд. 4.6.

• Для каждого литерала перечисления или предопределенной операции над родительским типом существует соответствующая операция над производным типом.

• Если родительский тип — задачный тип, то для каждого входа родительского типа существует соответствующий вход производного типа.

• Если выражение по умолчанию существует для компоненты объекта, имеющего родительский тип, то то же самое выражение используется для соответствующей компоненты объекта производного типа.




Начало  Назад  Вперед



Книжный магазин