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}