Freigeben über


final-Modifizierer

Aktualisiert: November 2007

Deklariert eine Klasse als nicht erweiterbar oder eine Methode oder Eigenschaft als nicht überschreibbar.

final statement

Argumente

  • statement
    Erforderlich. Die Definition einer Klasse, Methode oder Eigenschaft.

Hinweise

Mit dem final-Modifizierer wird angegeben, dass eine Klasse nicht erweitert oder eine Methode oder Eigenschaft nicht überschrieben werden kann. Dies verhindert, dass das Verhalten der Klasse von anderen Klassen durch das Überschreiben wichtiger Funktionen geändert wird. Methoden mit dem final-Modifizierer können durch Methoden in abgeleiteten Klassen verborgen oder überladen werden.

Mit dem final-Modifizierer können Klassen sowie Methoden und Eigenschaften von Klassen gekennzeichnet werden. Schnittstellen, Felder und Member von Schnittstellen können nicht mit dem final-Modifizierer gekennzeichnet werden.

Der final-Modifizierer darf nicht mit dem anderen Vererbungsmodifizierer (abstract) kombiniert werden. In der Standardeinstellung sind Klassenmember weder abstract noch final. Die Vererbungsmodifizierer können nicht mit dem static-Modifizierer kombiniert werden.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung des final-Modifizierers. Der final-Modifizierer verhindert, dass eine Methode der Basisklasse durch Methoden der abgeleiteten Klasse überschrieben wird.

class CBase {
   final function methodA() { print("Final methodA of CBase.") };
   function methodB() { print("Non-final methodB of CBase.") };
}

class CDerived extends CBase {
   function methodA() { print("methodA of CDerived.") };
   function methodB() { print("methodB of CDerived.") };
}

var baseInstance : CBase = new CDerived;
baseInstance.methodA();
baseInstance.methodB();

Die Ausgabe des Programms bestätigt, dass die final-Methode nicht überschrieben wurde:

Final methodA of CBase.
methodB of CDerived.

Anforderungen

Version .NET

Siehe auch

Konzepte

Gültigkeitsbereich von Variablen und Konstanten

Typanmerkung

Referenz

abstract-Modifizierer

hide-Modifizierer

override-Modifizierer

var-Anweisung

function-Anweisung

class-Anweisung

Weitere Ressourcen

Modifizierer