O que é polimorfismo? Dê exemplos.

Passo 1

Então, a gente tem uma pergunta sobre polimorfismo. A matéria aqui é programação orientada a objetos, e para responder isso, a gente vai precisar entender o que é polimorfismo e ver alguns exemplos práticos para deixar tudo mais claro.

Passo 2

Primeiro, vamos entender o que é polimorfismo. A palavra vem do grego: “poli” significa muitos e “morfismo” significa formas. Então, polimorfismo é a habilidade de ter muitas formas. Na programação, isso significa que uma mesma interface ou método pode se comportar de maneiras diferentes dependendo do contexto.

Passo 3

Para deixar isso mais claro, vamos imaginar que a gente tem uma classe chamada Animal com um método chamado fazerSom(). Dependendo do tipo de animal, esse método vai produzir um som diferente.

Passo 4

Aqui está um exemplo simples em código:
class Animal {
    void fazerSom() {
        System.out.println("Animal faz um som");
    }
}

class Cachorro extends Animal {
    void fazerSom() {
        System.out.println("Cachorro late");
    }
}

class Gato extends Animal {
    void fazerSom() {
        System.out.println("Gato mia");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal meuAnimal;

        meuAnimal = new Cachorro();
        meuAnimal.fazerSom(); // Saída: Cachorro late

        meuAnimal = new Gato();
        meuAnimal.fazerSom(); // Saída: Gato mia
    }
}

Passo 5

No exemplo acima, a classe Animal tem um método fazerSom(). As classes Cachorro e Gato herdam de Animal e sobrescrevem o método fazerSom(). Quando a gente cria um objeto meuAnimal do tipo Animal e aponta para uma instância de Cachorro ou Gato, o método que será chamado depende do objeto real. Isso é polimorfismo em ação!

Resposta

Polimorfismo é o conceito da programação orientada a objetos que permite que objetos de diferentes classes sejam tratados como objetos da mesma classe base, possibilitando que métodos com o mesmo nome se comportem de maneiras diferentes. Um exemplo disso é uma classe Animal com um método fazerSom(), onde classes filhas como Cachorro e Gato implementam esse método de forma específica, resultando em sons diferentes quando chamado.

Exercícios relacionados