Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Руководство по Borland Pascal.doc
Скачиваний:
78
Добавлен:
02.05.2014
Размер:
2.05 Mб
Скачать

Интерфейсная секция

Интерфейсная часть - "общедоступная" часть в модуле - начи-

нается зарезервированным словом interface, следует сразу после

заголовка модуля и заканчивается перед зарезервированным словом

implementation. Интерфейс определяет, что является "видимым"

(доступным) для любой программы (или модуля), использующей данный

модуль.

В интерфейсной части (секции) модуля можно определять

константы, типы данных, переменные, процедуры и функции. Как и в

программе, они могут быть расположены в любом порядке, и секции

могут встречаться повторно (например, ваша программа может содер-

жать секцию var, за которой следует секция const, а затем другая

секция var).

Процедуры и функции, видимые для любой программы,

использующей данный модуль, описываются в секции интерфейса,

однако их действительные тела - реализации - находятся в секции

реализации. Вам не нужно использовать описания forward, и они не

допускаются. В интерфейсной части перечисляются все заголовки

процедуры и функции. Секция реализации содержит программную логи-

ку процедур и функций.

Секция реализации

Секция реализации - "приватная" часть - начинается

зарезервированным словом implementation. Все, что описано в

секции интерфейса, является видимым в секции реализации:

константы, типы, переменные, процедуры и функции. Кроме того, в

секции реализации могут быть свои дополнительные описания,

которые не являются видимыми для программ, использующих этот

модуль. Программа не знает об их существовании и не может

ссылаться на них или обращаться к ним. Однако, эти скрытые эле-

менты могут использоваться (и, как правило, используются) "види-

мыми" процедурами и функциями, то есть теми подпрограммами, чьи

заголовки указаны в секции интерфейса.

Оператор uses может содержаться в секции реализации

(implementation) и должен непосредственно следовать за ключевым

словом implementation.

Обычные процедуры и функции, описанные в интерфейсной сек-

ции, то есть те из них, которые не являются подставляемыми

(inline), должны повторно указываются в секции реализации. Заго-

ловок procedure/function должен быть или идентичным тому, который

указан в секции интерфейса, или иметь более краткую форму. В слу-

чае краткой формы наберите ключевое слово (procedure или

function), а за ним укажите имя подпрограммы (идентификатор). За-

тем подпрограмма должна содержать все свои локальные описания

(метки, константы, типы, переменные и вложенные процедуры и функ-

ции), за которыми должно находиться основное тело самой подпрог-

раммы. Пусть в интерфейсной части указаны следующие описания:

procedure ISwap(var V1,V2 : integer);

function IMax(V1,V2 : integer) : integer;

Тогда Секция реализации будет иметь следующий вид:

procedure ISwap; var

Temp := integer;

begin

Temp := V1; V1 := V2; V2 := Temp

end; {конец процедуры Swap}

function IMax(V1,V2 : integer) : integer;

begin

if V1 > V2

then IMax := V1

else IMax := V2

end; { конец функции Max }

Подпрограммы, локальные для секции реализации (то есть не

описанные в секции реализации), должны иметь полный (несокращен-

ный) заголовок procedure/function.

Соседние файлы в папке Delphi