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


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

Обновлен: Ноябрь 2007

Объявляет, что класс нельзя расширить или что метод или свойство нельзя переопределить.

final statement

Аргументы

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

Заметки

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

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

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

Пример

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

class CBase {
   final function methodA() { print("Final methodA of CBase.") };
   function methodB() { print("Non-final methodB of CBase.") };
}

class CDerived extends CBase {
   function methodA() { print("methodA of CDerived.") };
   function methodB() { print("methodB of CDerived.") };
}

var baseInstance : CBase = new CDerived;
baseInstance.methodA();
baseInstance.methodB();

Выходные данные этой программы показывают, метод с модификатором "final" не переопределен:

Final methodA of CBase.
methodB of CDerived.

Требования

Версия .NET

См. также

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

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

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

Ссылки

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

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

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

Оператор var

Оператор function

Оператор сlass

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

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