Деструкторы
Объект класса может создавать в своем
конструкторе какие-то другие объекты,
которые при завершении работы с объектом
этого класса должны удаляться из памяти.
Это осуществляется специальными методами
- бестрикто- .рамц .. Основная задача
деструктора - освободить память от
каких-то объектов, созданных в конструкторе
объекта, и освободить какие-то неуправляемые
ресурсы, занятые конструктором: соединения
с базами данных и т. п. Если в конструкторе
не создается никаких объектов, и не
занимаются никакие ресурсы, то деструктор
в классе не нужен.
Объявление деструктора выглядит так
же, как объявление процедуры, но
предваряется ключевым словом destructor.
В качестве имени деструктора обычно
задают имя Destroy. Так что чаще всего
объявление деструктора имеет вид:
destructor Destroy; override;
Реализация деструктора, как правило,
завершается вызовом наследуемого
деструктора с помощью ключевого слова
inherited, чтобы освободить память,
отведенную для наследуемых полей.
Например:
destructor
TShape.Destroy;
begin
FBrush.Free;
FPen.Free;
inherited
Destroy;
end;
Задание
Вернуться к лабораторной работе № 4 и
реализовать ее в стиле ООП. Упрощенный
вариант реализации лабораторной работы
представлен в папке Приложение.