54
8.1. Раздел описания (interface part)
*
модуль-реализация, содержащий только реализационную часть;
*
обычный модуль, содержащий и обе части;
*
модуль-только-описание (interface only unit), не содержащий реализации и
ненуждающийся в такой части.
8.1. Раздел описания (interface part)
Раздел описания содержит описания экспортируемых объектов модуля. При
импорте модуля достаточно иметь доступ только к его разделу описаний. Поэтому
модуль разделяется на модуль описаний и модуль реализации. Оба модуля должны
иметь один и тот же идентификатор. Модуль реализации остается недоступным для тех,
кто импортирует объектов из него. Это используется для исключения неправомерного
доступа к модулю реализации. Только тот, кто писал раздел реализации может здесь
что-то изменять. Пока разработчик меняет лишь раздел реализации, ему не нужно
сообщать о своих действиях тем, кто использует модуль.
InterfacePart =
[UsesClause] {
ConstDeclaration |
TypeDeclaration |
VarDeclaration |
PFDeclaration }.
Модуль - часть полного текста программы. Следовательно, объекты, описанные
в разделе описаний, являются глобальными в том смысле, что они существуют в течении
всего периода выполнения программы. Описания процедур и функций в разделе
описаний состоят только из одних заголовков.
Следует пример модуля, реализующий стек для целых чисел. Для работы стека
необходимы следующие четыре операции:
*
втолкнуть элемент в стек;
*
вытолкнуть элемент из стека;
*
проверка на пустой стек;
*
проверка на полный стек.
Проверка на полный или пустой стек реализуем логическими функциями.
interface unit STACK;
  function  full: boolean;
  function  empty: boolean;
  procedure push(x: integer);
  function  pull: integer;
end { STACK }.
Так описанный модуль STACK может быть использован любой программой, при
том ее составитель не знает заранее размер стека и метод его реализации.
8.2. Раздел реализации (implementation part)
ImplmntPart =
[UsesClause]
Block.
Раздел реализации мало в чем отличается от обычной программы. Отличия
следующие:
<<  <  GO  >  >>

Вернуться к началу сайта