Final (Delphi)
Nach oben zu Grundlegende syntaktische Elemente
Inhaltsverzeichnis
Syntax
function|procedure FunctionName; virtual|dynamic ; final;
Beschreibung
Eine als final gekennzeichnete Klassenfunktion oder -prozedur kann in abgeleiteten Klassen nicht überschrieben werden. Mit diesem Schlüsselwort kann das Überschreiben von Methoden in abgeleiteten Klassen verhindert werden.
Nur virtual oder dynamic Methoden können als final gekennzeichnet werden.
Hinweis: Die Schlüsselwörter virtual oder dynamic müssen vor dem Schlüsselwort final erscheinen.
Beispiel
type
Base = class
procedure TestProcedure; virtual;
procedure TestFinalProcedure; virtual; final;
end;
Derived = class(Base)
procedure TestProcedure; override;
//Ill-formed: E2352 Cannot override a final method
procedure TestFinalProcedure; override;
end;