Деструктор Destroy класса TObject

   
На этом шаге мы дадим краткую характеристику деструктора.

   
Деструктор Destroy класса TObject выполняет самые общие стандартные действия по уничтожению объектов,
с помощью вызова метод FreeInstance класса TObject, который в свою очередь:

  • вызывает метод CleanupInstance класса TObject для корректного завешения работы с длинными строками и другими сложными структурами данных;
  • вызывает метод InstanceSize из того же класса для определения размера памяти, занимаемого удаляемым объектом.

   
Деструктор Destroy класса TObject имеет такой заголовок:

    destructor Destroy;   virtual;

   
Обратим внимание на важную особенность описания конструкторов и деструкторов. Поскольку деструктор Destroy в классе TObject объявлен виртуальным,
то при его объявлении в пользовательских классах использование директивы override является необходимым условием для обеспечения корректных вызовов деструктора.
Тоже самое относится и к конструктору Create, если он используется в описаниях классов, являющихся потомками классов ТСоmponent и TComponentEditor.

   
Что касается деструктора Destroy и уничтожения объектов, то следует отметить, что класс TObject содержит еще один метод Free, предназначенный для той же цели.
Метод Free сам вызывает деструктор Destroy, но только в том случае, если есть что освобождать, то есть объект имеет значение, отличное от nil. Напомним, что в Object Pascal все
объекты - динамические, и, следовательно, переменная-объект является указателем.

   
Кроме конструктора Create и деструктора Destroy в классе TObject объявлены также другие методы, среди которых есть как классовые методы (методы, представляющие собой классы), так и обычные.

   
На следующем шаге мы приведем краткое описание классовых методов.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий