Forum: Object-Pascal / Delphi-Language
Delphi
by Bowler,
3. Sep 2004
Sorry, wusste nicht, dass das Wurzel-Objekt schon erstellt ist.
Forum: Object-Pascal / Delphi-Language
Delphi
by Bowler,
3. Sep 2004
Hm..ok, ich versuchs.
Also, Polymorphie bedeutet, dass Du ein Attribut mit dem Typ Deiner Basis-Klasse anlegst, und dann - wenn Du das Objekt letztendlich mit .Create erzeugst - nichtmehr die Basis-Klasse erstellst, sondern eine davon abgeleitete Klasse.
Hier das ganze mal als Code:
type
TBasisKlasse = class(TObject)
public
iErgebnis:integer;
Forum: Object-Pascal / Delphi-Language
Delphi
by Bowler,
3. Sep 2004
Ja, daraus habe ich gelesen, dass er sich das ableiten der Klasse TNewKnoten sparen will, und direkt auf der TKnoten-Klasse arbeiten will.
Wobei es mittels Polymorphie auch funktionieren müsste, wenn TNewKnoten von TKnoten abgeleitet wird. Dann müsste er in der TMyNewList ein Objekt von TNewKnoten in dem Wurzel-Attribut von TKnoten instanzieren können.
Forum: Object-Pascal / Delphi-Language
Delphi
by Bowler,
3. Sep 2004
Müsstest Du können. Allerdings hast du Wurzel:TKnoten als private deklariert, deswegen ist das nur in dieser Klasse sichtbar. Damit die Ableitungen (TMyNewList) auf das Wurzel-Attribut aus der Mutterklasse zugreifen kann, musst du es als protected oder public deklarieren:
TMyList = class
protected
Wurzel: TKnoten;
public
procedure Hinzufuegen(var Neu: TKnoten);
{...}
end;