Final (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Eléments syntaxiques fondamentaux


Syntaxe

function|procedure FunctionName;  virtual|dynamic ; final;

Description

Une fonction de classe ou une procédure marquée comme final ne peut pas être redéfinie dans des classes dérivées. Ce mot clé peut être utilisé pour révoquer la capacité à redéfinir des méthodes dans des classes dérivées.

Seules les méthodes virtuelles ou dynamiques peuvent être marquées comme final.

Remarque : Les mots clés virtual et dynamic doivent être écrits avant le mot clé final.

Exemple

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;

Voir aussi