Реферат: Объектно-ориентированный подход к программированию
Для объявления конструктора используется зарезервированное слово constructor, после которого идет имя конструктора и параметры, если необходимо. Конструктор возвращает указатель на экземпляр класса. У конструктора Tobject имя Create, поэтому у всех потомков этого класса есть конструктор Create, хотя, у некоторых классов есть и другие конструкторы с другими именами, например у обработчиков исключений. В теле конструктора Вы можете вызвать конструктор предка для инициализации закрытой части предка значениями по умолчанию, например:
unit MyUnit;
interface
Type
TmyClass = class(TComponent)
…
public
constructor Create(AOwner: TComponent); override; // перегружаемконструкторпредка
…
end;
implementation
Constructor TmyClass.Create(AOwner: TComponent);
Begin
Inherited Create(Aowner); // Вызов конструктора предка
… // Дальнейшая инициализация объекта
End;
Если имя конструктора предка совпадает с именем потомка, то можно сократить запись при вызове конструктора предка в конструкторе потомка:
Constructor TmyClass.Create(AOwner: TComponent);
Begin
Inherited (Aowner); // Вызов конструктора предка
… // Дальнейшая инициализация объекта
End;
Для уничтожение объекта служит деструктор. Деструктор объявляется с помощью зарезервированного слова destructor, после которого идет имя деструктора. Деструктор ничего не возвращает и не имеет параметров. Я советую Вам вместо прямого вызова деструктора использовать метод Free. Этот метод есть у всех классов в Delphi, т.к. наследуется от Tobject. Этот метод сначала проверяет неравенство указателя на класс nil, а затем только вызывает Destroy. Это более безопасный способ уничтожить объект.unit MyUnit;
interface
Type
TmyClass = class(TComponent)
…
public
constructor Create(AOwner: TComponent); override; // перегружаемконструкторпредка