Thema: Delphi virtual / override ??

Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#49

Re: virtual / override ??

  Alt 21. Aug 2004, 13:04
Zitat von mschaefer:
...
Das reintroduce wird der Compiler hier freundlicherweise ignorierern (was will der den..), den dieses dient nur dem unterdrücken der Wanrmeldung, wenn Du eine Klasse unerreichbar überschreibst (ohne override). Da Abstract bedingt, das hier noch keine Klasse da ist, so ist auch keine Klasse da die Du schon überschreiben kannst. Somit würde ehedem nie eine Warnung entstehen, die mit reintroduce unterdrückt werden könnte.....
Warum sollte das nicht gehen? Ich kann durchaus abstrakte methoden in abgeleiteten klassen einführen. Habs jetzt nicht getestet aber dies sollte so gehen:

Delphi-Quellcode:
type
  TClass1 = class
  public
    procedure XY; virtual;
  end;

  TClass2 = Class(TClass1)
  public
    procedure XY; reintroduce;overload; virtual; abstract;
    procedure XY(i:integer); reintroduce; overload;
  end;

  TClass3 = Class(TClass2)
  public
    procedure XY; override;
  end;
Um hier mal ein salat aus allem zur diskusion zu stellen. Aber sollte so gehen und genau das machen was man erwartet
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat