Sobes.tech
Junior — Middle

Come si può implementare il controllo del comportamento degli oggetti tramite polimorfismo nel codice?

sobes.tech AI

Risposta dell'AI

Il polimorfismo in Java consente agli oggetti di classi diverse di rispondere in modo diverso alle stesse chiamate di metodo, il che è utile per gestire il comportamento degli oggetti.

Per implementare la gestione del comportamento tramite il polimorfismo, si crea generalmente un'interfaccia di base o una classe astratta con un metodo definito, e poi diverse classi derivate implementano questo metodo a modo loro.

Esempio:

interface Animal {
    void makeSound();
}

class Dog implements Animal {
    public void makeSound() {
        System.out.println("Bau bau");
    }
}

class Cat implements Animal {
    public void makeSound() {
        System.out.println("Miao");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal[] animals = {new Dog(), new Cat()};
        for (Animal animal : animals) {
            animal.makeSound(); // La chiamata al metodo dipende dall'oggetto specifico
        }
    }
}

In questo modo, la gestione del comportamento degli oggetti si riduce alla chiamata di un singolo metodo, e l'implementazione concreta viene determinata in fase di esecuzione dal tipo dell'oggetto. Ciò semplifica l'espansione e la manutenzione del codice.