4.2 производные типы и производные классы.Производный тип является новым типом, создаваемым на основе родительского типа. Он сохраняет множество значений и операций родительского типа. Объявление производного типа осуществляется следующим образом: TYPE Имя_Производного_типа IS NEW Имя_родительского_типа [Ограничения]; Ограничения, как и в случае подтипа, могут быть четырёх видов рассмотренных выше. П Примеры производных типов: Integer range 1 .. 77; Float; Vector100(1 .. 16); type Wigth is new type Sum is new type Vec_16 is new Производный тип наследует множество значений родительского типа. Это множество может быть ограничено ( если имеется Ограничение в описании производного типа ) или расширено ( если родительский тип описан как тэговый ). Производный тип наследует предопределенные операции и примитивные подпрограммы от родительского типа. Для производных типов в языке введено понятие производных классов. Производный класс для типа Т ( класс типа Т ) - это множество типов, содержащее сам тип Т ( корневой тип класса ) и все типы, производные прямо или косвенно ( непрямо) от типа Т, а также соответствующие универсальные типы и типы широкого класса. Каждый тип в языке может быть одним из следующих : • специфическим типом (specific type ) _• типом широкого класса ( class-wide type ) 36 37 Ада95.Введение в программирование Глава 4. Типы определяемые пользователем
• универсальным типом ( universal type ). Специфический тип определяется при описании типа, описании формального типа или при описании типа в обьявлении обьекта. Тип широкого класса определяется для каждого производного класса, корнем которого является тэговый тип. Универсальный тип определяется для числовых классов ( integer, real, fixed ). Типы широкого класса и универсальный тип включают все типы в этом классе, специфический тип - только себя самого. Типы широкого класса более подробно будут рассмотрены в главе 16. Ш СОВЕТЫ : * Используйте производные типы и подтипы совместно. * Используйте производные типы вместо расширяемых, если не добавляете новые компоненты к типу. |
| Оглавление| |