Junior — Middle
Оё имкон дорад, ки усулҳо ё хосиятҳоро дар забони Dart иваз кард?
sobes.tech AI
Ҷавоб аз AI
Бале, дар забони Dart имкон дорад, ки усулҳо ва хосиятҳоро дар синфҳои фарзандӣ дубора нависад.
Барои ин, дар синфи фарзанд бояд як усул ё getter/setter бо ҳамон номи, ки дар синфи асосӣ аст, эълон карда шавад. Тавсия дода мешавад, ки истифодаи аннотатсияи @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 имкон медиҳад, ки усулҳо ва хосиятҳоро барои иҷрои полиморфизм дубора нависад.