Thema: Delphi "Create" neu definieren

Einzelnen Beitrag anzeigen

Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: "Create" neu definieren

  Alt 18. Sep 2004, 20:34
Zitat von Pseudemys Nelsoni:
ich meinem buch steht, dass wenn man kein override benutzt der (in diesem fall) constructor neu definiert wird d.h der vorrige existiert nichtmehr, wie geht das dann mit inherited?
laut delphi-hilfe brauchst du die direktive overload damit du beim aufrufen des konstruktors deiner abgeleiteten klasse nicht den konstruktor der vorgänger-klasse aufrufst. denn ohne die direktiven overload oder reintroduce wird die vorgänger-methode lediglich verdeckt, ist aber immer noch verfügbar, dementsprechend würdest du die methode des vorgängers, und nicht die neue methode aufrufen, was ganz sicher nicht sinn und zweck der übung ist. da zum benutzen der overload-direktive aber die parameter identisch zur vorgänger-methode sein müssen, kann das nicht funktionieren, weshalb du die reintroduce-direktive benutzt, die zwar den eigentlichen konstructor nicht unerreichbar macht, aber die fehlermeldung, dass du die vorgänger-methode verdeckst, aufhebt.

und wenn ich jetz nich wieder blödsinn erzählt hab, nimm reintroduce und alles is gut
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat