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


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

Объявляет, что метод или свойство скрывают метод или свойство в базовом классе.

hide statement

Аргументы

  • statement
    Обязательный. Определение метода или свойства.

Заметки

Модификатор hide используется для метода, который скрывает метод в базовом классе. Модификатор hide можно использовать только в том случае, если в базовом классе имеется член с той же сигнатурой.

Модификатором hide можно помечать методы и свойства в классах. Классы, поля, интерфейсы и члены интерфейсов не могут принимать модификатор hide.

Модификатор hide нельзя использовать одновременно с другими модификаторами, безопасными относительно версий (override). Модификаторы, безопасные относительно версий, нельзя использовать одновременно с модификатором static. По умолчанию метод переопределяет метод базового класса, если метод базового класса не помечен модификатором final. Метод с модификатором abstract можно скрыть только в том случае, если предоставлена явная реализация абстрактного базового метода. При выполнении в режиме, безопасном относительно версий, необходимо использовать один из модификаторов, безопасных относительно версий, при каждом переопределении метода базового класса.

Пример

В следующем примере показано использование модификатора hide. Метод производного класса, помеченный модификатором hide, не переопределяет метод базового класса. Метод базового класса переопределяется методом, помеченным модификатором override.

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();

Выходные данные этой программы показывают, что скрытый метод не переопределяет метод базового класса.

Hiding methodA.
Overriding methodB.
methodA of CBase.
Overriding methodB.

Требования

Версия .NET

См. также

Ссылки

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

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

Оператор var

Оператор function

Оператор class

/versionsafe

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

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

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

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

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