Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: [OOP]: Methode (mit Parameter) überschreiben

  Alt 9. Sep 2004, 10:54
Moin!

Grundlegendes: Ich gehe davon aus, das TNewKnoten von TKnoten abgeleitet ist! - da dies vorher nicht geklärt wurde.

Wenn das der Fall ist, dann einfach so:

Code:
function TListe.Add_Knoten(Knoten: TKnoten): TKnoten;
begin
{...}
end;

function TNewListe.Add_Knoten(Knoten: TNewKnoten): TNewKnoten;
begin
Result := ( inherited Add_Knoten(Knoten) As TNewKnoten ); //Löst immer einen Fehler aus
end;
Dabei gehe ich davon aus, das Add_Knoten keine Instanz anlegt sondern eine vorhandene oder die übergebene TNewKnoten Instanz zurück gibt. Wenn es keine Instanz von TNewKnoten ist, dann schlägt die in der As Abfrage enthaltene Is Abfrage fehl und Result wird nicht gefüllt bzw. mit NIL. Daher gibt er entweder eine eindeutige TNewKnoten Instanz zurück oder Nil bzw. einen Zufallswert.

Beim Aufruf kannst du direkt die TNewKnoten Instanz angeben, weil TNewKnoten von TKnoten abgeleitet ist.

MfG
Muetze1
  Mit Zitat antworten Zitat