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

8.1 спецификация пакета

Спецификация пакета имеет следующий вид:

PACKAGE            Имя_Пакета        IS

- - Видимый_Раздел_Описания_Ресурсов_Пакета

[   PRIVATE

--  Личный_Раздел_Описаний ]

END    Имя_Пакета;

Спецификация пакета разделяется на видимую и приватную ( лич­ную ) части. Приватная часть спецификации начинается после слова private.

Описания из видимой части спецификации могут быть использова­ны вне пакета, прямая видимость при этом обеспечивается специфика­тором Use.

Видимый раздел описания пакета может содержать описания сле­дующих ресурсов:

•   констант;

•   типов;

•   объектов;

•   подпрограмм;

•   исключений;

•   задач;

•   пакетов.

72

73

Глава 8. Пакеты

Ада 95. Введение в программирование

 

 

П Пример спецификации пакета: package    DATA     is

of integer; .. n ) of integer; С : out Vector);

n :    integer    constant: = 100 ; type   Vector   is     array    (   1 .. n) type    Matrix    is     array    (   1 .. n, 1 procedure   Sum_Vec (А, В : in Vector; TIME:    exception;

end    DATA;

При работе с пакетом DATA в пользовательской программе разрешается использование всех ресурсов пакета, перечисленных в его спецификации.

Пакет может быть размещен внутри пользовательской программы.

With Use

Для подключения пакета, компилируемого раздельно (в этом случае он является библиотечным модулем ), применяются спецификаторы with и use.

DATA; DATA;

Описания из приватной части спецификации видны только внутри области действия этого описания, в теле пакета и в дочерних модулях.

Ш  СОВЕТЫ:

*  Описывайте в спецификации пакеты только то, что необходимо для использования вне пакета.

*  Минимизируйте число обьявлений в спецификации пакета.

*  Минимизируйте использование спецификатора     with    в специфи­кации  пакета.

*  Не используйте глобальные данные в пакете.

*  Избегайте ненужной видимости; прячьте детали реализации  от пользователя.