Einzelnen Beitrag anzeigen

Tryer

Registriert seit: 16. Aug 2003
200 Beiträge
 
#6

Re: Kind as Opa innerhalb der Deklerartion

  Alt 9. Sep 2009, 13:31
Auch bei TOpa(Kind).tuwas wird immer die überschiebene Methode aufgerufen, welche sich auf diesem Wege selber aufruft -> StackOverflow.
Mit "inherited" kommt man nur bis zu TVater zurück. Da bestände dann die Möglichkeit für "Sauereien" ala
Delphi-Quellcode:
if (Self is TKind) then
  inherited
else
  ShowMessage('Vater');
Damit ruft ein inherited-Aufruf vom Kind über den Vater - Umweg die Opa-Methode auf. Nicht zu empfehlen da unübersichtlich und unflexibel.

Die Möglichkeit das ganze zu umgehen wäre das verdecken der virtuellen Methode von TOpa (-> reintroduce. Dadurch existieren die Methoden dann "nebeneinander" und der Aufruf gelingt.

MfG,
Dirk
  Mit Zitat antworten Zitat