Final (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Grundlegende syntaktische Elemente


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;

Siehe auch