Einzelnen Beitrag anzeigen

martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#7

Re: Zuweisung in einer anderen Klasse

  Alt 15. Sep 2009, 12:51
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;
  Mit Zitat antworten Zitat