Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Final-Methoden zwar nicht überschreibbar, aber verdeckbar?

  Alt 23. Apr 2013, 15:47
Delphi-Version: XE2
Hallo-

Ich bin etwas schockiert. Ich möchte in der Oberklasse verhindern, dass in der Unterklasse eine Methode überschrieben wird. Der Heilsbringer ist bekanntlicherweise das Schlüsselwort final .

Erstens verstehe ich nicht, warum die Methode dafür - laut Delphi - dann auch zwingend virtual sein muss.

Zweitens kann ich die Methode jetzt zwar nicht mittels override überschreiben. Aber nach Standard-Compilereinstellungen bekomme ich nur eine Warnung, wenn ich das override einfach weglasse und die Methode der Überklasse verdecke? Das ist doch sittenwidrig!


Warum sollte man so etwas zulassen? Ich verstehe das nicht. Möglicherweise ist das in anderen Sprachen auch so und mir ist es nie aufgefallen, bitte nicht hauen.
  Mit Zitat antworten Zitat