Sobes.tech
Junior — Middle

Como é que o mecanismo de polimorfismo é alcançado em Java e como implementá-lo no código?

sobes.tech IA

Resposta da IA

No Java, o polimorfismo é alcançado através de herança e sobrescrita de métodos, bem como através de interfaces. Isto permite que objetos de diferentes classes respondam de forma diferente às mesmas chamadas de métodos.

Exemplo de implementação de polimorfismo:

class Animal {
    void sound() {
        System.out.println("Algum som");
    }
}

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

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

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.sound(); // Vai imprimir: Latido
        myCat.sound(); // Vai imprimir: Miau
    }
}

Aqui, o método sound() é chamado em objetos do tipo Animal, mas na verdade, a implementação correspondente à classe real do objeto (Dog ou Cat) é executada. Isto é o polimorfismo — uma interface, múltiplas implementações.