Hallo Luckie,
vielen Dank für das Tutorial.
Das Beispiel auf Seite 10 kann ich nicht nachvollziehen
Delphi-Quellcode:
...
Figure := TFigure.Create;
try
TRectangle(Figure).Draw('TFigure.Create / TRectangle(Figure).Draw');
// Ruft TRectangle.Draw auf
finally
FreeAndNil(Figure);
end;
...
Hier wird nicht TRectangle.Draw sondern TFigure.Draw aufgerufen. Wenn Figure vom Type TFigure ist und als TFigure instanziert wird kann trotz Typcast nur TFigure.Draw aufgerufen werden.
Wenn Figure vom Type TFigure ist und als TRectangle instanziert wird sieht die Sache schon ganz anders aus.
Delphi-Quellcode:
var
Figure : TFigure;
begin
Figure:=TRectangle.Create;
Try
Figure.Draw('TFigure.Create / TRectangle(Figure).Draw');
Finally
Figure.Free;
end;
end;