override-Modifizierer
Aktualisiert: November 2007
Deklariert, dass eine Methode oder Eigenschaft eine Methode oder Eigenschaft der Basisklasse überschreibt.
override statement
Argumente
- statement
Erforderlich. Die Definition einer Methode oder Eigenschaft.
Hinweise
Mit dem override-Modifizierer wird eine Methode gekennzeichnet, die eine Methode der Basisklasse überschreibt. Die Kennzeichnung einer Methode mit dem override-Modifizierer ist nur zulässig, wenn die Basisklasse über einen Member mit derselben Signatur verfügt.
Mit dem override-Modifizierer können Methoden und Eigenschaften von Klassen gekennzeichnet werden. Klassen, Felder, Schnittstellen und Member von Schnittstellen können nicht mit dem override-Modifizierer gekennzeichnet werden.
Der override-Modifizierer darf nicht mit dem anderen Versionssicherheitsmodifizierer (hide) kombiniert werden. Die Versionssicherheitsmodifizierer können nicht mit dem static-Modifizierer kombiniert werden. In der Standardeinstellung wird eine Methode der Basisklasse überschrieben, wenn sie nicht mit dem final-Modifizierer gekennzeichnet ist. final-Methoden können nicht überschrieben werden. Im Versionssicherheitsmodus muss grundsätzlich ein Versionssicherheitsmodifizierer verwendet werden, wenn eine Methode der Basisklasse überschrieben wird.
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung des override-Modifizierers. Die mit dem override-Modifizierer gekennzeichnete Methode der abgeleiteten Klasse überschreibt die Methode der Basisklasse. Die mit dem hide-Modifizierer gekennzeichnete Methode überschreibt die Methode der Basisklasse nicht.
class CBase {
function methodA() { print("methodA of CBase.") };
function methodB() { print("methodB of CBase.") };
}
class CDerived extends CBase {
hide function methodA() { print("Hiding methodA.") };
override function methodB() { print("Overriding methodB.") };
}
var derivedInstance : CDerived = new CDerived;
derivedInstance.methodA();
derivedInstance.methodB();
var baseInstance : CBase = derivedInstance;
baseInstance.methodA();
baseInstance.methodB();
Die Ausgabe des Programms bestätigt, dass eine override-Methode eine Methode der Basisklasse überschreibt:
Hiding methodA.
Overriding methodB.
methodA of CBase.
Overriding methodB.
Anforderungen
Siehe auch
Konzepte
Gültigkeitsbereich von Variablen und Konstanten