8.3 лимитированные типыЛимитированный ( ограниченный ) тип ( limited type ) - тип, для которого не допустимы операции присваивания. Тип является лимитированным, если он унаследован от одного из следующих типов: • типа, имеющего в описании зарезервированное слово limited; • задачного типа; • защищенного типа; • составного типа с лиимтированными компонентами. Для лимитированного типа не существуют предопределенные операции сравнения на равенство ( equality operators ). Для лимитированного типа определены следующие правила: • не разрешается инициализация при обьявлении объекта лимитированного типа; • выражение по умолчанию не допускается в описании компонент, если тип записи - лимтированный; • не разрешается инициализирующий указатель ( генератор ), если тип является лимитированным; • формальный параметр настройки вида in не может быть лимитируемым типом. Для лимитируемого типа не используются агрегаты (в сложных типах ) и конкатенация ( в массивах ) . П Рримеры: type Focus is limited privated; type OMP is abstract tagged limited private ; Производный тип от лимитируемого типа является лимитируемым ; составной тип - лимитируемый , если тип хотя бы одной из его компонент является лимитированным. Лимитируемый тип может быть помечен как тэговый. В этом случае возможно личное расширение, результатом которого является также личный тип. D Например: package ASTRA is - тэговый тип - расширение типа Т type Т is tagged; type TN is new Т with private; - Глава 8. Пакеты 77 Ада 95. Введение в программирование 76
private - - личная часть спецификации type TN is new Т with - - детализация производного типа TN record Z : integer; - - добавление новой компоненты end record ; end ASTRA; |
| Оглавление| |