Constructor Определяет метод используемый для создания объекта из класса
Destructor Определяет метод используемый для уничтожения объекта
Function Определяет подпрограмму, которая возвращает значение
Object Позволяет данным типа подпрограмм обращаться к методу объекта
Overload Позволяет 2-м или более подпрограммам иметь одинаковое название
Override Определяет метод, который заменяет виртуальный родительский метод класса
Procedure Определяет подпрограмму, которая не возвращает значение
Пример кода : Примеры Inherited с и без явных родительских имен метода
// Полный код Модуля. // ----------------------------------------------------------- // Вы должны поместить этот код в модуль с именем Unit1 и с формой // названную Form1, которая имеет событие OnCreate названное FormCreate.
unit Unit1;
interface
uses
Forms, Dialogs, Classes, Controls, StdCtrls;
type // Определение родительского класса основанного, по умолчанию, на TObject
TFruit = class
public
name : string; Constructor Create; overload; // Этот конструктор использует умолчания
Constructor Create(name : string); overload;
end; // Определение типа потомка
TApple = class(TFruit)
public
diameter : Integer;
published
Constructor Create(name : string; diameter : Integer);
end; // Класс формы используемой этим модулем
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm} // Вложение определений формы // Создание объекта fruit - версия без параметров
constructor TFruit.Create;
begin // Сначала выполняется родительский конструктор (TObject) Inherited; // Вызов родительского метода Create // Теперь устанавливаем имя fruit, по умолчанию
self.name := 'Fruit';
end; // Создание объекта fruit - версия с параметрами
constructor TFruit.Create(name: string);
begin // Сначала выполняется родительский конструктор Inherited Create; // Вызов родительского метода Create // И сохраняем имя fruit
self.name := name;
end; // Создание объекта apple
constructor TApple.Create(name: string; diameter : Integer);
begin // Сначала выполняется родительский конструктор (TFruit) Inherited Create(name); // Вызов родительского метода // Теперь сохраняем переданный apple диаметр
self.diameter := diameter;
end; // Основная строка кода
procedure TForm1.FormCreate(Sender: TObject);
var
fruit : TFruit;
banana : TFruit;
apple : TApple;
begin // Создание 3 различных объекта fruit
fruit := TFruit.Create;
banana := TFruit.Create('Banana');
apple := TApple.Create('Pink Lady', 12); // Смотрим какие из наших объектов являются fruit
if fruit Is TFruit then ShowMessage(fruit.name +' is a fruit');
if banana Is TFruit then ShowMessage(banana.name +' is a fruit');
if apple Is TFruit then ShowMessage(apple.name +' is a fruit'); // Смотрим какие объекты являются apple
if fruit Is TApple then ShowMessage(fruit.name +' is an apple');
if banana Is TApple then ShowMessage(banana.name +' is an apple');
if apple Is TApple then ShowMessage(apple.name +' is an apple');
end;
end.
Fruit is a fruit
Banana is a fruit
Pink Lady is a fruit
Pink Lady is an apple