Руководство по языку B.Pascal 7




Конструкторы и деструкторы - часть 2


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

Примечание: Деструктор может быть виртуальным и часто является таковым. Деструктор редко имеет параметры.

Приведем несколько примеров деструкторов:

destructor Field.Done; begin FreeMem(Name, Length (Name^) + 1); end;

destructor StrField.Done; begin FreeMem(Value, Len); Field.Done; end;

Деструктор дочернего типа, такой как указанный выше TStrField.Done, обычно сначала удаляет введенные в порожденном типе поля указателей, а затем в качестве последнего действия вы- зывает соответствующий сборщик деструктор непосредственного роди- теля для удаления унаследованных полей-указателей объекта.




Содержание  Назад  Вперед