На этом шаге мы перечислим особенности использования конструктора Create.
Конструктор Create класса TObject выполняет самые общие стандартные действия по созданию объектов:
- выделяет память для объекта с помощью вызова еще одного метода
NewInstance класса TObject, который в свою очередь вызывает метод
InstanceSize из того же класса для определения размера памяти, требуемого для данного объекта; - инициализирует поля созданного объекта нулевыми значениями с помощью вызова метода InitInstance класса TObject.
Конструктор Create в классе TObject объявлен не виртуальным и не содержит никаких параметров. Однако в некоторых стандартных классах-потомках класса TObject он переопределяется.
Приведем описание заголовков конструктора Create для различных структурных классов.
- Класс TObject:
constructor Create;
- Класс TComponent:
constructor Create(AOwner: TComponent); virtual;
- Класс TComponentEditor:
constructor Create(AComponent: TComponent; ADesigner: TFormDesigner); virtual;
- Класс TFiler:
constructor Create(Stream: TStream; BufSize: Cardinal);
- Класс TFileStream:
constructor Create(const FileName: String; Mode: Word);
- Класс THandleStream:
constructor Create(AHandle: Integer);
- Класс TResourceStream:
constructor Create(Instance: THandle; const ResName: String; ResType: PChar);
На следующем шаге мы рассмотрим деструктор Destroy.