Zitat:
dass der Befehl "inherited" auch Parameter annehmen und einen Rückgabewert zurückgeben kann.
Die
Direktive "inherited" ruft die Vorgänger-Prozedur/Funktion der Vorgängerklasse auf.
D.h eine Prozedur die den selben Name hat wie die aktuelle Prozedur und keine Parameter hat sieht so aus:
Delphi-Quellcode:
procedure TNachfolgerKlasse.EineProzedur;
inherited; // Ruft "EineProzedur" der Vorgängerklasse auf
end;
Eine Prozedur die einen Parameter weitergibt so:
Delphi-Quellcode:
procedure TNachfolgerKlasse.EineProzedur(AParam: string);
inherited EineProzedur(AParam); // Ruft "EineProzedur" der Vorgängerklasse auf und übergibt den Parameter
end;
Bei einer Funktion ohne Parameter sieht das so aus:
Delphi-Quellcode:
function TNachfolgerKlasse.EineFunktion;
Result := inherited; // Ruft "EineFunktion" der Vorgängerklasse auf
end;
Eine Funktion die einen Parameter weitergibt:
Delphi-Quellcode:
function TNachfolgerKlasse.EineFunktion(AParam: string);
Result := inherited EineFunktion(AParam); // Ruft "EineFunktion" der Vorgängerklasse auf
end;
Bye
Btw: Wenn du in deiner abgeleiteten Klasse eine Funktion bzw Prozedur aufrufen möchtest die nicht den gleichen Namen hat wie der in der du dich befindest, reicht "inherited" allein nicht, sondern der prozedur/funktion-name muss dahinter.