Final (Delphi)
Go Up to Fundamental Syntactic Elements
Contents
Syntax
function|procedure FunctionName; virtual|dynamic ; final;
Description
A class function or procedure marked as final cannot be overridden in derived classes. This keyword can be used to revoke the ability of overriding methods in derived classes.
Only virtual or dynamic methods can be marked as final.
Note: The virtual or dynamic keywords must be written before the final keyword.
Example
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;