Sobes.tech
Junior — Middle

Czy można nadpisywać metody lub właściwości w języku Dart?

sobes.tech AI

Odpowiedź od AI

Tak, w języku Dart można nadpisywać metody i właściwości w klasach dziedziczących.

Aby to zrobić, w klasie pochodnej należy zadeklarować metodę lub getter/setter o tej samej nazwie co w klasie bazowej. Zaleca się użycie adnotacji @override, aby wyraźnie wskazać nadpisanie.

Przykład:

class Animal {
  void speak() {
    print('Dźwięk zwierzęcia');
  }

  String get name => 'Zwierzę';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Wypisze: Szczekanie
  print(dog.name); // Wypisze: Pies
}

W ten sposób Dart obsługuje nadpisywanie metod i właściwości w celu realizacji polimorfizmu.