Junior — Middle
Може ли да се презапишат методи или свойства в езика Dart?
sobes.tech AI
Отговор от AI
Да, в езика Dart може да се презаписват методи и свойства в наследяващите класове.
За това в подкласът трябва да се обяви метод или геттер/сетер със същото име като в базовия клас. Препоръчително е да се използва анотацията @override за ясно указване на презаписа.
Пример:
class Animal {
void speak() {
print('Звук на животно');
}
String get name => 'Животно';
}
class Dog extends Animal {
@override
void speak() {
print('Лай');
}
@override
String get name => 'Куче';
}
void main() {
var dog = Dog();
dog.speak(); // Ще изведе: Лай
print(dog.name); // Ще изведе: Куче
}
По този начин Dart поддържа презаписване на методи и свойства за реализиране на полиморфизъм.