Sobes.tech
Junior — Middle

Come si realizza il meccanismo di polimorfismo in Java e come implementarlo nel codice?

sobes.tech AI

Risposta dell'AI

In Java, il polimorfismo si ottiene attraverso l'ereditarietà e la sovrascrittura dei metodi, così come tramite le interfacce. Questo permette agli oggetti di classi diverse di rispondere in modo diverso alle stesse chiamate di metodo.

Esempio di implementazione del polimorfismo:

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 myDog = new Dog();
        Animal myCat = new Cat();

        myDog.sound(); // Stampa: Abbaio
        myCat.sound(); // Stampa: Miagolio
    }
}

Qui, il metodo sound() viene chiamato su oggetti di tipo Animal, ma in realtà viene eseguita l'implementazione corrispondente alla classe reale dell'oggetto (Dog o Cat). Questo è il polimorfismo — un'interfaccia, molte implementazioni.