override 修饰符
声明方法或属性重写基类中的方法或属性。
override statement
参数
- statement
必选。 方法或属性定义。
备注
override 修饰符用于重写基类中方法的方法。 当基类不包含具有相同签名的成员时,不得将 override 修饰符用于方法。
类中的方法和属性可以使用 override 修饰符来标记。 类、字段、接口和接口的成员不能采用 override 修饰符。
不能将 override 修饰符与其他版本安全修饰符 (hide) 组合。 版本安全修饰符不能与 static 修饰符组合。 默认情况下,除非基类方法具有 final 修饰符,否则方法将重写基类方法。 不能重写 final 方法。 在版本安全模式下运行时,每当重写基类方法时必须使用一个版本安全修饰符。
示例
下面的示例阐释 override 修饰符的用法。 派生类中用 override 修饰符标记的方法会重写基类方法。 用 hide 修饰符标记的方法不会重写基类方法。
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();
该程序的输出显示 override 方法重写基类方法。
Hiding methodA.
Overriding methodB.
methodA of CBase.
Overriding methodB.