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

1. Структура модуля

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

Структура модуля.

Unit <имя модуля>

Interface (интерфейсная секция)

Implementation (секция реализации)

Begin (секция инициализации)

end.

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

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

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

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

2. Понятие класс. Составляющие класса: поля, свойства, методы. Объявление класса.

Класс тип данных определяемый пользователем.

Класс в Object Pascal - это специальный тип данных включающий: поля данных, описание процедур и функций которые могут быть выполнены над представителями класса, объекта.

Туре

<имя класса> = Class(<имя класса - родителя>)

public // т.е. доступно всем

<поля, методы, свойства, события>

published // т.е. видны в Инспекторе Объекта и изменяемы

<поля, свойства>

protected // доступно только потомкам

<поля, методы, свойства, события>

private // доступно только в этом модуле

<поля, методы, свойства, события>

end;

Данные (переменные) называются полями, процедуры и функции описанные в классе называются методами.

Отличие классов от других типов данных, объекты всегда располагаются в динамической памяти (куча) по этому объект представляет собой указатель на динамическую область памяти, но в отличии от других указателей при ссылке на содержимое объекта запрещается использовать символ "^" за именем объекта.

В основе классов лежат три принципа: Инкапсуляция( позволяет изолировать класс от остальных частей программы, а так же сделать его самодостаточным при решении конкретной задачи. TMemo -представляет собой многофункциональный текстовый редактор) , наследование( любой класс может быть порождён от другого класса для этого при его объявлении указывается имя класса родителя. TChildclass=class(TParentclass) пораждённый класс наследует все поля и свойства своего родителя. Всё произошло от TObject), полиморфизм( Свойства объекта обладать множеством форм. Поведенческие свойства класса определяются набором входящих в него методов, изменяя алгоритм того или иного метода в потомках класса программист может придавать этим потомкам отсутствующие у родителя специфические свойства).

3. Конструкторы и деструкторы

Так как объект это динамическая структура, то программист должен позаботится о выделении памяти для этих данных. Выделение памяти осуществляется при помощи специального метода класса конструктора которому обычно присваивается имя Create. Для того, что бы подчеркнуть особую роль и поведение конструктора в описании класса вместо слова procedure используют слово constructor. Так же в любом классе имеется деструктор(Destroy). Конструктор распределяет объект в куче, а деструктор удаляет объект из кучи. Обращение к конструктору должно быть раньше чем любое обращение к полям и методам объекта. Обращение к деструктору Destructor. Метод Free проверяет действительность адреса объекта, а лишь потом вызывает деструктор.

type

TMyclass=class

Fid:integer;

Constructor Create(value: integer);

Destructor Destroy;

end;

var MyObject:TMuclass;

begin

MyObject.TMyclass.Create;

MyObject.Fid:=0;

MyObject.Free;

end.