Sobes.tech
Back to questions
Junior — Middle
84

Можно ли переопределить методы или свойства в языке Dart?

Answer from AI

sobes.tech AI

Да, в языке Dart можно переопределять методы и свойства в классах-наследниках.

Для этого в подклассе нужно объявить метод или геттер/сеттер с тем же именем, что и в базовом классе. При этом рекомендуется использовать аннотацию @override для явного указания переопределения.

Пример:

class Animal {
  void speak() {
    print('Animal sound');
  }

  String get name => 'Animal';
}

class Dog extends Animal {
  @override
  void speak() {
    print('Bark');
  }

  @override
  String get name => 'Dog';
}

void main() {
  var dog = Dog();
  dog.speak(); // Выведет: Bark
  print(dog.name); // Выведет: Dog
}

Таким образом, Dart поддерживает переопределение методов и свойств для реализации полиморфизма.