Поделиться через


Модификатор 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.

Требования

Версия .NET

См. также

Основные понятия

Область переменных и констант

Аннотация типа

Ссылки

Модификатор hide

Оператор var

Оператор function

Оператор сlass

Другие ресурсы

Модификаторы