Junior — Middle
Czy można nadpisywać metody lub właściwości w języku Dart?
sobes.tech AI
Odpowiedź od AI
Tak, w języku Dart można nadpisywać metody i właściwości w klasach dziedziczących.
Aby to zrobić, w klasie pochodnej należy zadeklarować metodę lub getter/setter o tej samej nazwie co w klasie bazowej. Zaleca się użycie adnotacji @override, aby wyraźnie wskazać nadpisanie.
Przykład:
class Animal {
void speak() {
print('Dźwięk zwierzęcia');
}
String get name => 'Zwierzę';
}
class Dog extends Animal {
@override
void speak() {
print('Szczekanie');
}
@override
String get name => 'Pies';
}
void main() {
var dog = Dog();
dog.speak(); // Wypisze: Szczekanie
print(dog.name); // Wypisze: Pies
}
W ten sposób Dart obsługuje nadpisywanie metod i właściwości w celu realizacji polimorfizmu.