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 მხარს უჭერს მეთოდებისა და თვისებების გადაფარვას პოლიმორფიზმის განხორციელებისთვის.