ПРИМЕЧАНИЕ. В первом операторе вызова задано 4 фактических параметра, во втором операторе — 3 фактических параметра

В первом операторе вызова задано 4 фактических параметра, во втором операторе — 3 фактических параметра. Во втором операторе использованы как традиционная (позиционная) схема, так и именная схема сопоставления формального и фактического параметров.

Пакеты

Пакет — основное средство для поддержки многократности использования программного текста. При проектировании программ пакеты позволяют применить подход клиент-сервер. Пакет действует как сервер, который предоставляет своим клиентам (программам и другим пакетам) набор услуг.

Спецификация пакета объявляет предлагаемые услуги, а тело содержит реализацию этих услуг.

Спецификация пакета записывается в виде

package <ИмяПакета> is

<объявления типов, переменных, констант>

<спецификации процедур и функций>

end <ИмяПакета>;

Пример спецификации:

package Рисование is

type Точка is array ( 1 .. 2 ) of Integer;

-- описание точки в прямоугольной системе координат

procedure Переход ( из : in Точка; в : in Точка );

-- переход из одной точки в другую точку

procedure Рисовать_Линию (от : in Точка; до : in Точка );

-- рисуется сплошная линия между заданными точками

procedure Рисовать_Пунктирную_Линию (от : in Точка: до ; in Точка );

-- рисуется пунктирная линия

end Рисование;

Данная спецификация предлагает клиентам один тип данных и три процедуры.

Тело пакета представляется в виде

package body <ИмяПакета> is

<объявления локальных переменных, констант. типов>

<тела процедур и функций>

end <ИмяПакета>;

Еще раз отметим, что содержание тела пакета клиентам недоступно.

Пример тела:

package body Рисование is

-- локальные объявления

procedure Переход ( из : in Точка: в : in Точка ) is

-- локальные объявления

begin

-- операторы

end Переход;

procedure Рисовать_Линию(от : in Точка: до ; in Точка) is

-- локальные объявления

begin

-- операторы

end Рисовать_Линию;

procedure Рисовать_Пунктирную_Линию ( от : in Точка;

до : in Точка ) is

-- локальные объявления

begin

-- операторы

end Рисовать_Пунктирную_Линию;

end Рисование:

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








Дата добавления: 2015-03-07; просмотров: 449;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.