Сборка мусора и отсутствие деструкторов
Материал из Вики проекта PascalABC.NET
Деструкторы отсутствуют. Если на объект больше не ссылается ни одна переменная, то занимаемая им память возвращается автоматически Сборщиком мусора, запускаемым в не зависящий от программиста момент. Если мы хотим выполнить какие-то действия, связанные с объектом в момент сборки мусора, следует переопределить виртуальный метод Object.Finalize
type Person = class private name: string; age: integer; public constructor (n: string; a: integer); begin name := n; age := a; end; procedure Print; begin writeln('Имя: ',name,' Возраст: ',age); end; procedure Finalize; override; begin writeln('Вызывается сборщиком мусора в момент, не зависящий от программиста'); end; end; var p,p1: Person; begin p := new Person('Иванов',20); // Новый синтаксис вызова конструктора (рекомендуется) p.Print; p1 := Person.Create('Попов',19); // Старый синтаксис вызова конструктора (не рекомендуется) p1.Print; end.
