Модули
Модули
Структура модуля
Модули предназначены для разбиения текста программы на несколько файлов. В модулях описываются переменные, константы, типы, классы, процедуры и функции. Для того чтобы эти объекты можно было использовать в вызывающем модуле (которым может быть и основная программа), следует указать имя файла модуля (без расширения .pas) в разделе uses вызывающего модуля. Файл модуля (.pas) или откомпилированный файл модуля (.pcu) должен находиться либо в том же каталоге, что и основная программа, либо в подкаталоге Lib системного каталога программы PascalABC.NET.
Модуль имеет следующую структуру:
unit имя модуля;
interface
раздел интерфейса
implementation
раздел реализации
initialization
раздел инициализации
finalization
раздел финализации
end.
Имеется также упрощенный синтаксис модулей без разделов интерфейса и реализации.
Первая строка обязательна и называется заголовком модуля. Имя модуля должно совпадать с именем файла.
Раздел интерфейса и раздел реализации модуля могут начинаться с раздела uses подключения внешних модулей и пространств имен .NET. Имена в двух разделах uses не должны пересекаться.
Раздел интерфейса включает объявление всех имен, которые экспортируются данным модулем в другие модули (при подключении его в разделе uses). Это могут быть константы, переменные, процедуры, функции, классы, интерфейсы. Реализация методов классов может быть дана прямо в разделе интерфейса, но это не рекомендуется.
Раздел реализации содержит реализацию всех процедур, функций и методов, объявленных в разделе интерфейса. Кроме этого, в разделе реализации могут быть описания внутренних имен, которые не видны вне модуля и используются лишь как вспомогательные.
Раздел инициализации и раздел финализации представляют собой последовательность операторов, разделяемых символом ;. Операторы из раздела инициализации модуля выполняются до начала основной программы, операторы из раздела финализации модуля - после окончания основной программы. Порядок выполнения разделов инициализации и разделов финализации подключенных модулей непредсказуем. Как раздел инициализации, так и раздел финализации могут отсутствовать.
Вместо разделов инициализации и финализации может присутствовать только раздел инициализации в виде
begin
последовательность операторов
end.
Например:
unit Lib;
interface
uses GraphABC;
const Dim = 5;
var Colors: array [1..Dim] of integer;
function RandomColor: integer;
procedure FillByRandomColor;
implementation
function RandomColor: integer;
begin
Result := RGB(Random(255),Random(255),Random(255));
end;
procedure FillByRandomColor;
begin
for i: integer := 1 to Dim do
Colors[i] := RandomColor;
end;
initialization
FillByRandomColor;
end.
Циклические ссылки между модулями возможны при определенных ограничениях.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 16 Модули
Глава 16 Модули Несмотря на то что ядро является монолитным, в том смысле что все ядро выполняется в общем защищенном адресном домене, ядро Linux также является модульным, что позволяет выполнять динамическую вставку и удаление кода ядра в процессе работы системы.
Модули
Модули Модули являются основными компонентами потока. Каждый модуль состоит из пары очередей — очереди чтения и записи, а также набора функций, осуществляющих обработку данных и их передачу вверх или вниз по потоку. Архитектура модуля представлена на рис. 5.16. Рис. 5.16.
3.3.3. Модули аутентификации
3.3.3. Модули аутентификации Аутентификация на основе двух файлов /etc/passwd и /etc/shadow немного устарела и предоставляет нам слишком скудные возможности. Разработчики ядра ОС Linux стараются исправить ситуацию с помощью добавления новых алгоритмов шифрования, но все эти попытки
7.2. Модули
7.2. Модули При настройке сервиса Apache очень важным звеном являются модули. Загрузка их описана в конфигурационном файле /etc/httpd/conf/httpd.conf следующим образом:<IfDefine HAVE_PERL> LoadModule perl_module modules/libperl.so</IfDefine>В первой строке проверяется параметр HAVE_PERL. Если он установлен, то
Подключаемые модули
Подключаемые модули Помочь браузеру справиться с многообразием мультимедиа в Интернете помогут подключаемые модули, или плагины (от англ. plug-in – вставной сменный блок).Подключаемые модули являются приложениями-дополнениями к основной программе. Их цель – расширение
11.1.12. Модули
11.1.12. Модули Для использования модулей в Ruby есть две основных причины. Первая — облегчить управление пространством имен; если поместить константы и методы в модули, то будет меньше конфликтов имен. Хранящийся таким образом метод (метод модуля) вызывается с указанием
11.3. Модули
11.3. Модули В дополнение к основной программе созданы четыре модуля, в которых реализованы функции сервера. Чтобы создать собственный модуль, достаточно определить функцию module_generate(), которая будет возвращать
1.2. Подключаемые модули
1.2. Подключаемые модули Подключаемые модули (Plug-In) – внешние программы, предоставляющие пользователям 3ds Max дополнительные возможности. Открытая архитектура 3ds Max позволяет любому разработчику программного обеспечения улучшить его возможности. MAXScript и Software Developers Kit (SDK)
4.4 Файлы как Модули
4.4 Файлы как Модули В предыдущем разделе .c и .h файлы вместе определяли часть программы. Файл .h является интерфейсом, который ипользуют другие части программы, .c файл задает реализацию. Такой объект часто называют модулем. Доступными делаются только те имена, которые
Модули
Модули Структура модуля Модули предназначены для разбиения текста программы на несколько файлов. В модулях описываются переменные, константы, типы, классы, процедуры и функции. Для того чтобы эти объекты можно было использовать в вызывающем модуле (которым может быть и
Программные модули
Программные модули В состав задачника входят следующие программные модули: PT4Demo -- позволяет просмотреть в демонстрационном режиме все задания, включенные в задачник; PT4Load -- обеспечивает генерацию программы-шаблона для требуемого учебного задания и ее
Классы как модули
Классы как модули Объектная ориентация - в первую очередь архитектурная техника: она в основном затрагивает модульную структуру системы. Здесь опять велика роль классов. Класс описывает не только тип объектов, но и модульную единицу. В чистом ОО-подходе: Классы должны
Модули и типы
Модули и типы Средства, используемые при разработке ПО, - языки программирования, проектирования, спецификаций, графические системы обозначений для анализа, - всегда включали в себя как возможность применения модулей, так и систему типов.Модули - это структурные единицы,
Толерантные модули
Толерантные модули (При первом чтении этот раздел можно опустить или ограничиться его беглым просмотром.)Простые, но не защищенные модули могут быть не достаточно устойчивыми для использования их у произвольных клиентов. В таких случаях возникает необходимость