Registriert seit: 12. Jun 2002
3.483 Beiträge
Delphi 10.1 Berlin Professional
|
Re: TObject = Object ?
31. Mär 2006, 15:04
Eine VMT würde keinen Sinn machen, wenn man nicht erben kann:
Delphi-Quellcode:
type
PFigure = ^TFigure;
TFigure = object
X, Y: Integer;
constructor Init(AX, AX: Integer);
destructor Done; virtual;
procedure Draw; virtual;
end;
PCircle = ^TCircle;
TCircle = object(TFigure)
R: Integer;
constructor Init(AX, AY, AR: Integer);
destructor Done; override;
procedure Draw; override;
end;
PRectangle = ^TRectangle;
TRectangle = object(TFigure)
X1, Y1: Integer;
constructor Init(AX0, AY0, AX1, AY1: Integer);
procedure Draw; override;
end;
var
DynFigure: PFigure;
StaticFigure: TFigure; // behandeln wie einen Record
begin
DynFigure := New(PRectangle, Init(10, 10, 20, 20));
DynFigure^.Draw; // zeichnet ein Rechteck
Dispose(DynFigure, Done);
StaticFigure.Init(10, 10);
StaticFigure.Draw; // zeichnet einen Punkt
StaticFigure.Done;
end.
|
|
Zitat
|