Sobes.tech
Junior — Middle

Je možné prepísať metódy alebo vlastnosti v jazyku Dart?

sobes.tech AI

Odpoveď od AI

Áno, v jazyku Dart je možné prepísať metódy a vlastnosti v odvodených triedach.

Na to je v odvodenom triede potrebné deklarovať metódu alebo getter/setter so rovnakým názvom ako v základnej triede. Odporúča sa používať anotáciu @override na jasné označenie prepísania.

Príklad:

class Animal {
  void speak() {
    print('Zvuk zvieraťa');
  }

  String get name => 'Zviera';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Vytlačí: Štekanie
  print(dog.name); // Vytlačí: Pes
}

Týmto spôsobom Dart podporuje prepísanie metód a vlastností na implementáciu polymorfizmu.