Sobes.tech
Junior — Middle

Átírhatók-e módszerek vagy tulajdonságok a Dart nyelvben?

sobes.tech MI

Válasz az MI-től

Igen, a Dart nyelvben lehetőség van módszerek és tulajdonságok felülírására az öröklődő osztályokban.

Ehhez az alosztályban ugyanazzal a névvel kell deklarálni egy metódust vagy getter/setter-t, mint az alap osztályban. Ajánlott az @override annotáció használata a felülírás egyértelmű jelölésére.

Példa:

class Animal {
  void speak() {
    print('Állati hang');
  }

  String get name => 'Állat';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Kiírja: ugat
  print(dog.name); // Kiírja: Kutya
}

Így a Dart támogatja a módszerek és tulajdonságok felülírását a polimorfizmus megvalósításához.