Модификатор override
Обновлен: Ноябрь 2007
Объявляет, что метод или свойство переопределяют метод или свойство в базовом классе.
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.