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ą.