РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
51 of 723 menu

Аннотация @override

Аннотация @override используется перед объявлением метода, геттера, сеттера или поля, чтобы явно указать, что этот элемент переопределяет соответствующий элемент из родительского класса. Она не является обязательной, но настоятельно рекомендуется: если вы помечаете метод аннотацией @override, но в родителе нет подходящего метода, компилятор выдаст ошибку. Это помогает избежать опечаток и случайного создания нового метода вместо переопределения существующего.

Синтаксис

@override возвращаемый_тип имя_метода(параметры) { // тело метода }

Пример

Давайте создадим родительский класс Animal с методом speak и переопределим его в классе Dog:

class Animal { void speak() { print('Some sound'); } } class Dog extends Animal { @override void speak() { print('Woof'); } } void main() { Dog dog = Dog(); dog.speak(); }

Результат выполнения кода:

"Woof"

Пример

Если пометить метод аннотацией @override, но в родительском классе такого метода нет, компилятор сообщит об ошибке:

class Animal { void speak() { print('Some sound'); } } class Dog extends Animal { @override void bark() { print('Woof'); } } void main() { Dog dog = Dog(); dog.bark(); }

В этом случае возникнет ошибка компиляции, так как метод bark не переопределяет ни один метод родителя.

Смотрите также

  • ключевое слово super,
    которое обращается к родительскому классу
  • ключевое слово this,
    которое ссылается на текущий объект
  • аннотация deprecated,
    которая помечает устаревший код
  • аннотация immutable,
    которая указывает на неизменяемость класса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить