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 в спецификации пакета. * Не используйте глобальные данные в пакете. * Избегайте ненужной видимости; прячьте детали реализации от пользователя. |
| Оглавление| |