Sobes.tech
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, αλλά η συμπεριφορά εξαρτάται από την συγκεκριμένη υποκλάση — αυτό είναι πολυμορφισμός.