Sobes.tech
Junior — Middle

Kas Dart keeles saab meetodeid või omadusi üle kirjutada?

sobes.tech AI

Vastus AI-lt

Jah, Dart keeles on võimalik ülekirjutada meetodeid ja omadusi pärilikes klassides.

Selleks tuleb alamklassis deklareerida meetod või getter/setter sama nimega, mis põhiklassis. Soovitatav on kasutada annotatsiooni @override, et selgelt näidata ülekirjutamist.

Näide:

class Animal {
  void speak() {
    print('Loomu hääl');
  }

  String get name => 'Loom';
}

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

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

void main() {
  var dog = Dog();
  dog.speak(); // Väljund: Haug
  print(dog.name); // Väljund: Koer
}

Seega toetab Dart meetodite ja omaduste ülekirjutamist polümorfismi realiseerimiseks.