Sobes.tech
Junior — Middle

Lze v jazyce Dart přepsat metody nebo vlastnosti?

sobes.tech AI

Odpověď od AI

Ano, v jazyce Dart lze přepisovat metody a vlastnosti v odvozených třídách.

Pro to je v podtřídě nutné deklarovat metodu nebo getter/setter se stejným názvem jako v základní třídě. Doporučuje se používat anotaci @override pro jasné označení přepsání.

Příklad:

class Animal {
  void speak() {
    print('Zvuk zvířete');
  }

  String get name => 'Zvíře';
}

class Dog extends Animal {
  @override
  void speak() {
    print('Štěkání');
  }

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

void main() {
  var dog = Dog();
  dog.speak(); // Vytiskne: Štěkání
  print(dog.name); // Vytiskne: Pes
}

Tímto způsobem Dart podporuje přepisování metod a vlastností pro implementaci polymorfismu.