Junior — Middle
Μπορείτε να εξηγήσετε τι σημαίνει η έννοια της αφηρημένης κλάσης στον αντικειμενοστραφή προγραμματισμό;
sobes.tech AI
Απάντηση από AI
Μια αφηρημένη κλάση στον αντικειμενοστραφή προγραμματισμό είναι μια κλάση που δεν προορίζεται για άμεση δημιουργία στιγμιότυπων. Λειτουργεί ως πρότυπο για άλλες κλάσεις και μπορεί να περιέχει τόσο υλοποιημένες μεθόδους όσο και αφηρημένες (χωρίς υλοποίηση), οι οποίες πρέπει να υλοποιηθούν στις υποκλάσεις.
Για παράδειγμα, στη Dart (τη γλώσσα Flutter), μια αφηρημένη κλάση δηλώνεται με τη λέξη-κλειδί abstract:
abstract class Animal {
void makeSound(); // αφηρημένη μέθοδος
void breathe() {
print('Αναπνέει'); // υλοποιημένη μέθοδος
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Γαβ');
}
}
void main() {
// Animal animal = Animal(); // Σφάλμα: δεν μπορεί να δημιουργηθεί στιγμιότυπο αφηρημένης κλάσης
Dog dog = Dog();
dog.makeSound(); // Γαβ
dog.breathe(); // Αναπνέει
}
Έτσι, η αφηρημένη κλάση ορίζει μια γενική διεπαφή και βασική λειτουργικότητα, ενώ οι συγκεκριμένες κλάσεις υλοποιούν τις λεπτομέρειες.