Sobes.tech
Junior — Middle

Могу ли се методи или својства у језику Dart преоптеретити?

sobes.tech АИ

Одговор од АИ

Da, u jeziku Dart moguće je prepisivati metode i svojstva u klasama koje nasleđuju.

Za to, u podklasi treba deklarisati metodu ili getter/setter sa istim imenom kao u osnovnoj klasi. Preporučuje se korišćenje anotacije @override za jasno označavanje prepisivanja.

Primer:

class Animal {
  void speak() {
    print('Zvuk životinje');
  }

  String get name => 'Životinja';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Ispisaće: Lajanje
  print(dog.name); // Ispisaće: Pas
}

Na ovaj način, Dart podržava prepisivanje metoda i svojstava za implementaciju polimorfizma.