4.1 подтипыПодтип (subtype) не создаёт новый тип, а вводит ограничение на существующий (базовый) тип. При этом подтип сохраняет все свойства, присущие базовому типу, в том числе множества допустимых операций, и совместим с базовым типом, то есть не требует явных преобразований между базовым типом и подтипом. Описание подтипа имеет следующий вид: SUBTYPE Имя_Подтипа IS Имя_Базового_Типа [Ограничение]; Ограничения, как правило, связаны с элементами типа (диапазона, индекса, точности и дискриминанта) и зависят от вида базового типа. При работе с подтипом происходит постоянный контроль ограничений, введённых при описании подтипа, и возбуждение исключений в случае их нарушений, что повышает надёжность программы. П Примеры подтипов: subtype Opel is Cars; subtype Smalljnteger is integer range -100 .. 100 ; subtype Vector_ 10 is Vector (1 .. 10); subtype Amper is float digits 7 range 0.0 .. 200.0;
35 Глава 4. Типы определяемые пользователем subtype Volt is fixed Power delta 0.001 ; ffl СОВЕТЫ: » Ограничивайте диапазоны подтипов настолько, насколько это возможно; * Используйте подтипы для улучшения понимания (чтения) программы; |
| Оглавление| |