Sobes.tech
Junior — Middle

Puoi spiegare il concetto di polimorfismo nella programmazione orientata agli oggetti?

sobes.tech AI

Risposta dell'AI

Il polimorfismo nella programmazione orientata agli oggetti è la capacità degli oggetti di classi diverse di rispondere in modo diverso ai medesimi messaggi (chiamate di metodi). Questo permette di usare un'interfaccia unica per lavorare con diversi tipi di oggetti.

Esempio in Java:

class Animal {
    void sound() {
        System.out.println("Suono generico");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Abbaio");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Miagolio");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Stampa: Abbaio
        a2.sound(); // Stampa: Miagolio
    }
}

Qui, il metodo sound() viene chiamato su oggetti di tipo Animal, ma il comportamento dipende dalla sottoclasse concreta — questo è polimorfismo.