Thema: Delphi Vererbung von Funktionen

Einzelnen Beitrag anzeigen

Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

Vererbung von Funktionen

  Alt 17. Feb 2010, 16:53
Hallo,

ich schlage mich gerade mit der Vererbung von Prozeduren rum.. ich habe eine Vorfahren und eine Nachfahrenklasse.. Nun möchte ich folgendes erreichen. In der Vorfahrenklasse soll eine Prozedur deklariert sein, die etwas bestimmtest macht. Die Nachfahrenklasse soll eine Prozedur enthalten die ZUSÄTZLICH zu der Vorfahrenprozedur noch was macht. Ungefähr so:
Delphi-Quellcode:
type
   Tvorfahr=class
    public
     number:integer;
     function numbertoString(a: integer): String;
   end;

  Tnachfahr=class(vorfahr)
    public
     i:integer;
     function numbertoString(a: integer): String;
   end;


function Tvorfahr.numbertoString(a: integer): String;
begin
  globalvariable1:=globalvariable1+a;
  result:=Inttostr(number);
end;

function Tnachfahr.numberToString(a: integer): String;
begin
  //mache erst das von Tvorfahr (mit selbem "a")

  inc(globalvariable2,a);
  resultvonTvorfahr:=resultvonTvorfahr+'.'+Inttostr(i);
end;
Wenn jetzt folgender Aufruf kommt:
Delphi-Quellcode:
test:=Tnachfahr.create;
s:=test.numbertoString;
Soll nur die zweite Prozedur aufgerufen werden (so wie das normalerweise mit "override" funktioniert") allerdings wird in der ja auf die erste Prozedur zugegriffen, sodass indirekt beide durchlaufen werden.

Ich hab schon verscuht das ergebnis aus verschiedenen TUTs zu kriegen. Wäre nett wenn ihr mein Beispiel mal so anpassen könntet, dass es akzeptiert wird vom Compiler. Ich denke, dann bin ich auch in der Lage, das auf kompliziertere Prozeduren zu übertragen.

Vielen Dank

KahPee
  Mit Zitat antworten Zitat