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