Es sollte nur ein Beispiel sein, wie ich eine bestehende Klasse erweitere. Und ich würde sie gerne über Vererbung erweitern.
Folgendes funktioniert :
Delphi-Quellcode:
var
a : TClassA;
b : TClassB;
begin
a:= TClassA.Create;
a.ValueA := 'Class A';
// b:= TClassB.Create;
b := TClassB(a);
b.ValueB := 'Class B';
mmo1.Lines.Add(b.print);
mmo1.Lines.Add(a.print);
end;
Wobei nach
b := TClassB(a);
alle zuvor vorhandenen Inhalte in b zurückgesetzt wurden.
Noch die beiden Print Methoden:
Delphi-Quellcode:
{ TClassA }
function TClassA.print: String;
begin
Result := self.ValueA;
end;
{ TClassB }
function TClassB.print: string;
begin
Result := inherited print() + self.ValueB;
end;