Деструктор (программирование)
Материал из Википедии — свободной энциклопедии
Дестру́ктор — специальный метод класса, служащий для удаления объекта из памяти.
Содержание |
[править] Деструктор в Delphi
Для объявления деструктора в Delphi используется ключевое слово destructor
. Имя деструктора может быть любым, но рекомендуется всегда называть деструктор Destroy
.
TClassWithDestructor = class destructor Destroy; override; end;
В Delphi все классы я вляются потомками, по крайней мере, класса TObject, поэтому, для корректного освобождения памяти, необходимо перекравать деструктор, используя дерективу override
.
В Delphi прямой вызов деструктора используется редко. Вместо него используют метод Free
.
MyObject.Free;
Метод Free
вначале проверяет существует ли уничтожаемый объект, а затем вызывает деструктор. Этот прием позволяет избегать ошибок, возникающих при обращении к несуществующему объекту.
[править] Деструктор в С++
[править] Виртуальный деструктор
[править] Деструктор в UML
[править] Языки в которых нет деструктора
В некоторых языках программирования таких, как C#. Удалением объектов занимется сборщик мусора. В этих языках деструктор отсутствует.