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 υποστηρίζει την επαναπροσδιορισμό μεθόδων και ιδιοτήτων για την υλοποίηση πολυμορφισμού.