Sobes.tech
Junior — Middle

Vai Dart valodā ir iespējams pārrakstīt metodes vai īpašības?

sobes.tech AI

Atbilde no AI

Jā, Dart valodā ir iespējams pārrakstīt metodes un īpašības mantojošajās klasēs.

Lai to izdarītu, apakšklasē jādeklarē metode vai getter/setter ar to pašu nosaukumu kā pamatklasē. Ieteicams izmantot @override anotāciju, lai skaidri norādītu pārrakstīšanu.

Piemērs:

class Animal {
  void speak() {
    print('Dzīvnieka skaņa');
  }

  String get name => 'Dzīvnieks';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Izdrukās: Rej
  print(dog.name); // Izdrukās: Suns
}

Tādējādi Dart atbalsta metožu un īpašību pārrakstīšanu, lai īstenotu polimorfismu.