Костерин В В
Шрифт:
1. МОДУЛЬ В OBJECT PASCAL
Язык объектно-ориентированного программирования Object Pascal применяется при работе в среде визуального программирования Delphi. Язык Object Pascal в основном включает "старый" язык Borland Pascal.
Программы на языке Object Pascal состоят из нескольких файлов: файла проекта (Delphi Project) с расширением *.dpr, одного или нескольких файлов модулей (Unit) с расширением *.pas и файлов дизайнера экранных форм с расширением *.dfm.
Файл проекта содержит текст основной программы Program, с которой начинается выполнение всей программы. Тексты вызываемых подпрограмм и используемых объектов находятся в файлах модулей.
Рассмотрим организацию исходного текста модуля:
Модуль начинается с описательного оператора заголовка модуля:
Имена файлов MyUnit1.pas, MyUnit1.dfm должны совпадать с именем, описанным в заголовке модуля MyUnit1. Наличие файла MyUnit1.dfm не является обязательным.
Между зарезервированными словами interface и implementation находятся описательные операторы секции интерфейса. В интерфейсной части объявляются константы, типы, переменные, прототипы процедур и функций (только оператор заголовка без исполняемых операторов), которые должны быть доступны для использования в других модулях. Описания подключений других модулей осуществляются при помощи оператора uses, который может располагаться строго за оператором interface. Имена подключаемых модулей должны быть расположены в таком порядке, чтобы обеспечить последовательное описание всех нужных типов в данной интерфейсной секции и интерфейсных секций подключаемых модулей.
За зарезервированным словом implementation находятся описательные операторы секции реализации. В отличие от описаний секции интерфейса описания из секции реализации недоступны для других модулей, но доступ к ним возможен из данного модуля. Как и в секции интерфейса, может следовать оператор uses, а за ним объявления констант, типов, переменных. В отличие от секции интерфейса процедуры и функции описываются вместе с их выполняемыми операторами. В секции должны быть определены как процедуры и функции из секции реализации, так и процедуры и функции, прототипы которых были объявлены в секции интерфейса. Код процедур и функций модуля, описанный в секции implementation, подключается (линкуется или связывается) к основной программе или к точкам вызова подпрограмм и функций в других модулях (через механизм линкера, работа которого определяется uses).
В необязательном разделе initialization размещаются операторы, которые выполняются сразу после запуска программы.
Раздел finalization не является обязательным, более того, он может присутствовать только в том случае, если в модуле присутствовала секция initialization. В секции размещаются операторы, которые выполняются непосредственно перед завершением программы.
2. ОБЪЕКТЫ И КЛАССЫ В ЯЗЫКЕ OBJECT PASCAL
В обычном языке Pascal существует тип-запись: