Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: [OOP]: sinnvolle Vererbung

  Alt 3. Sep 2004, 12:34
Zitat von Bowler:
nun ist Wurzel vom Typ TKnoten auch in den abgeleiteten Klassen sichtbar.
Ja, aber immer nur noch als TKnoten-Objekt!!

Zitat von mytar:
Muss ich Wurzel: TNewKnoten üverhaupt in TMyNewList neu implementieren, oder kann ich Wurzel von TMyList irgendwie manipulieren?
Du musst folgendes bedenken, wenn eine Methode aus TMyList aufgerufen wird und auf Wurzel zugegriffen wird, dann ist das ein TKnoten-Objekt, ist die Methode aber in der TMyNewList, dann ist Wurzel ein TNewKnoten-Objekt, beides sind unterschiedliche und unabhängige Objekte. Du könntest natürlich versuchen, das neue Wurzel-Objekt über eine Property auf das alte zeigen zu lassen (vorrausgesetzt, du beachtest den Rat von Bowler):
Delphi-Quellcode:
function TMyNewList.GetWurzel: TNewKnoten;
begin
  Result := Wurzel;
  // Eigenschaften kopieren...
  Result.Irgendwas := TMyList(Self).Wurzel.Irgendwas;
  // vielleicht geht sogar Result.Irgendwas := inherited Wurzel.Irgendwas oder so ähnlich???
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat