7.2. СПЕЦИФИКАЦИИ И ОПИСАНИЯ ПАКЕТОВ

Первый список элементов описания в спецификации пакета называется видимым разделом пакета. Необязательный список элементов описания после зарезервированного слова private называется личным разделом пакета.

Понятие, описанное в личном разделе пакета, невидимо вне з^ого пакета (имя, обозначающее такое понятие, доступно только в пакете). В противоположность этому расширенные имена, обозначающие описанные в видимом разделе понятия, могут быть использованы даже вне этого пакета; прямую видимость этих понятий можно получить также с помощью спецификатора использования (см. 4.1.3 и 8.4).

Предвыполнение описания пакета состоит в предвыполнении его основных элементов описания в порядке их следования.

Примечание. Видимый раздел пакета содержит всю информацию, доступную для другого программного модуля. Пакет, состоящий только из спецификации пакета (т. е. без тела пакета), может быть использован для представления группы общих констант или переменных или общей совокупности объектов и типов, как показано ниже в примерах.

Пример пакета, описывающего группу общих переменных:

package PLOTTING_DATA is    PEN_UP : BOOLEAN;   CONVERSION_FACTOR,   X_OFFSET, Y_OFFSET,   X_MIN,    Y_MIN,   X_MAX,    Y_MAX:   REAL;     -— CM. 3.5.7   X_VALUE : array (1 .. 500) of REAL;   Y_VALUE : array (1 .. 500) of REAL;end PLOTTING-DATA;

Пример пакета, описывающего общую совокупность объектов и типов:

package WORK_DATA is   type DAY is (MON, TUE, WED, THU, FRI, SAT, SUN);   type HOURS_SPENT is delta 0.25 range 0.0 .. 24.0;   type TIME_TABLE  is array (DAY) of HOURS_SPENT;   WORK_HOURS   : TIME_TABLE;   NORMAL_HOURS : contant TIME_TABLE :=                   (MON .. THU => 8.25, FRI ==> 7.0, SAT | SUN => 0.0>;end WORK_DATA;

Ссылки: идентификатор пакета 7.1, имя 4.1, константа 3.2.1, область действия 8.2, описание объекта 3.2.1, описание пакета 7.1, описание типа 3.3.1, описание числа 3.2.2, основной элемент описания 3.9, пакет 7, переменная 3.2.1, Предвыполнение 3.9, простое имя 4.1, прямая видимость 8.3, расширенное имя 4.1.3, спецификатор использования 8.4, спецификация пакета 7.1, элемент описания 3.9.