Delphi тип TObject – тип базового класса, который является предком для всех других классов.
System unit
type TObject = class
constructor Create;
...
...
destructor Destroy; virtual;
end;
Тип TObject определяет тип базового класса. Он является самым старым прародителем всех классов - каждый класс, в конечном счете, получен из TObject.
Из-за этого, каждый объект унаследовал методы TObject.
Методы TObject относятся к двум категориям – класс и не класс. Когда предустановленно ключевое слово Class, метод можно вызвать и в объекте класса, и в классе непосредственно. Такой статический метод не может обратиться ни к каким полям класса, потому что сам класс не имеет никаких данных, только объекты имеют данные.
Некоторые ключевые (статические) методы Class:
- function ClassName – выдает имя класса как строку
- ClassParent – выдает имя родителя класса
- ClassInfo – выдает Run Time информацию класса
- InstanceSize – размер объекта класса в байтах
- NewInstance – создает новый объект класса
Некоторые ключевые методы Object:
- Create – создатель пустого объекта
- Free – вызывает Destroy для ненулевых объектов
- Destroy – высвобождение памяти объекта
- AfterConstruction – вызывается после построения
- BeforeDestruction – вызывается перед разрушением
Тип TObject в Delphi: Использование методов TObject унаследованных в подклассе TForm
begin
// Форма модуля была получена от TObject.
// Так что мы можем использовать методы TObject:
ShowMessage('Имя класса объекта Form1 = '+
Form1.ClassName);
ShowMessage('Имя родительского класса объекта Form1 = '+
Form1.ClassParent.ClassName);
ShowMessage('Размер образца объекта Form1 = '+
IntToStr(Form1.InstanceSize));
// И теперь непосредственно TObject
ShowMessage('Имя класса TObject = '+
TObject.ClassName);
ShowMessage('Размер образца TObject = '+
IntToStr(TObject.InstanceSize));
end;
Результат
Имя класса объекта Form1 = TForm1
Имя родительского класса объекта Form1 = TForm
Размер образца объекта Form1 = 764
Имя класса TObject = TObject
Размер образца TObject = 4
Похожие функции, процедуры и команды
Class — начинает объявление типа объектного класса.
Printer — возвращает ссылку к глобальному объекту Printer.
