Sobes.tech
Junior — Middle

Ar galima perrašyti metodus ar savybes Dart kalboje?

sobes.tech AI

Atsakymas iš AI

Taip, Dart kalboje galima perrašyti metodus ir savybes paveldėtose klasėse.

Tam, vaikų klasėje reikia deklaruoti metodą arba getter/setter su tuo pačiu pavadinimu kaip ir bazinėje klasėje. Rekomenduojama naudoti @override anotaciją aiškiam perrašymo žymėjimui.

Pavyzdys:

class Animal {
  void speak() {
    print('Gyvūno garsas');
  }

  String get name => 'Gyvūnas';
}

class Dog extends Animal {
  @override
  void speak() {
    print('Laižymas');
  }

  @override
  String get name => 'Šuo';
}

void main() {
  var dog = Dog();
  dog.speak(); // Išves: Laižymas
  print(dog.name); // Išves: Šuo
}

Taip Dart palaiko metodų ir savybių perrašymą, siekiant įgyvendinti polimorfizmą.