Angenommen ich leite z.B. folgende Klassen ab:
Delphi-Quelltext
1: 2: 3: 4:
| TShape = class TRectangle = class(TShape) TEllipse = class(TShape) etc. |
und übergebe eine Instanz von TRectangle an eine Prozedur
procedure DoSomething(aShape : TShape);
Delphi-Quelltext
1: 2: 3: 4:
| var clone : TShape; begin clone := aShape.ClassType.Create; ??? end; |
wie erzeuge ich eine weitere Instanz der übergebenen Klasse, also z.B. ein weiteres TRectangle, wenn aShape vom Typ TRectangle ist (ohne Fallunterscheidung per if/case/is)?