Введение в программирование - Учебное пособие (Корочкин А. В.)

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       СОВЕТЫ:

»   Ограничивайте  диапазоны   подтипов   настолько,   насколько   это

возможно; *   Используйте   подтипы   для    улучшения    понимания       (чтения)

программы;