Junior — Middle
Μπορείτε να εξηγήσετε την έννοια του πολυμορφισμού στον αντικειμενοστραφή προγραμματισμό;
sobes.tech AI
Απάντηση από AI
Ο πολυμορφισμός στον αντικειμενοστραφή προγραμματισμό είναι η ικανότητα των αντικειμένων διαφορετικών κλάσεων να ανταποκρίνονται διαφορετικά στα ίδια μηνύματα (κλήσεις μεθόδων). Αυτό επιτρέπει τη χρήση μιας ενιαίας διεπαφής για εργασία με διαφορετικούς τύπους αντικειμένων.
Παράδειγμα σε Java:
class Animal {
void sound() {
System.out.println("Κάποιος ήχος");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Γαύγισμα");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Μαϊμού");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Εκτύπωση: Γαύγισμα
a2.sound(); // Εκτύπωση: Μαϊμού
}
}
Εδώ, η μέθοδος sound() καλείται σε αντικείμενα τύπου Animal, αλλά η συμπεριφορά εξαρτάται από την συγκεκριμένη υποκλάση — αυτό είναι πολυμορφισμός.