Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все ответы.docx
Скачиваний:
8
Добавлен:
26.09.2019
Размер:
2.71 Mб
Скачать

8.Модули. Структура модуля. Использование модулей в приложении

Модульность-способность системы на разбиение на внутренне связанные, но слабо связанные между собой.

Модуль - специально оформленная библиотека определений типов констант, переменных программ, автономно компилируемая и используемая другими программами или модулями.

Преимущества модульной структуры программы:

1) Повышается эффективность разработки ПО.

2) Сокращается время компиляции.

3) Снимаются ограничения на размер кода.

4) Возможность раздельной компиляции и является основным преимуществом модулей.

Модуль не может быть автономно запущен на выполнение и содержит элементы, например, переменные и подпрограммы, которые допускается использовать в программе или в других модулях. Для того чтобы можно было использовать средства модуля, его необходимо подключить, указав имя этого модуля в разделе uses. Типичными примерами модулей являются System и SysUtils, содержащие большое количество стандартных подпрограмм. Напомним, что для каждой формы приложения создается отдельный модуль. Компилятор распознает модуль по его заголовку и создает в результате своей работы не исполняемый файл (ехе), как это было для приложения, а файл модуля с расширением dcu. Модуль состоит из заголовка, в котором после ключевого слова unit указывается имя модуля, и четырех разделов: интерфейса (interface), реализации (implementation), инициализации (initialization) и деинициализации (Finalization).

Модуль имеет следующую структуру:

Структура подключаемого модуля

   

  1. Unit <Имя модуля>;

  2. // Раздел интерфейса Interface

  3. Uses <Список модулей>;

  4. Const <Список констант>;

  5. Туре <Описание типов>;

  6. Var <Объявление переменных>;

  7. <Заголовки процедур>;

  8. <Заголовки функций>;

  9. // Раздел реализации

  10. Implementation

  11. Uses <Список модулей>;

  12. Const <Список констант>;

  13. Туре <Описание типов>;

  14. Var <Объявление переменных>;

  15. <Описание процедур>;

  16. <Описание функций>;

  17. // Раздел инициализации

  18. Initialization

  19. <Инструкции>

  20. // Раздел деинициализации

  21. Finalization

  22. <Инструкции>

  23. end.

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

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

В разделе инициализации располагаются инструкции, выполняемые в начале работы программы, которая подключает данный модуль. Разделы инициализации модулей выполняются в том порядке, в котором они перечислены в списке раздела uses программы. Раздел инициализации начинается словом Initialization и является необязательным.

При наличии раздела инициализации в модуле можно использовать раздел деинициализации, который начинается словом Finalization и является необязательным. В этом разделе располагаются инструкции, выполняемые при завершении программы. Разделы деинициализации модулей выполняются в порядке, обратном порядку их перечисления в списке uses программы.