Qual é a principal vantagem do polimorfismo na programação orientada a objetos?
Questão
Qual é a principal vantagem do polimorfismo na programação orientada a objetos?
Alternativas
A) Permite que um objeto seja instanciado várias vezes em diferentes contextos.
B) Permite que um objeto seja compartilhado com outros objetos.
C) Permite que um objeto herde características de várias classes diferentes.
D) Permite que um objeto se comunique com outros objetos.
E) Permite que um objeto seja tratado de maneira genérica, sem precisar saber qual é a sua classe específica.
Explicação
Polimorfismo, em Programação Orientada a Objetos, é a capacidade de referenciar/usar objetos de classes diferentes por meio de um mesmo tipo mais geral (por exemplo, uma interface ou superclasse), fazendo com que a chamada de métodos se comporte conforme a implementação real do objeto em tempo de execução.
Passo a passo:
- Em POO, frequentemente criamos uma abstração (ex.:
Animal) e várias implementações concretas (ex.:Cachorro,Gato). - Com polimorfismo, podemos declarar uma variável do tipo mais genérico (ex.:
Animal a) e atribuir nela instâncias de tipos específicos (new Cachorro()ounew Gato()). - Ao chamar um método (ex.:
a.emitirSom()), o programa executa a versão correspondente à classe concreta do objeto (cachorro ou gato), sem o código que usaAnimalprecisar saber qual classe específica está por trás. - A principal vantagem disso é permitir código mais flexível, reutilizável e extensível (substituir/adicionar novas classes concretas sem mudar o código que depende da abstração).
Analisando as alternativas:
- A) Instanciar várias vezes não é a ideia central do polimorfismo.
- B) Compartilhamento de objetos não define polimorfismo.
- C) “Herdar de várias classes” remete à herança múltipla (e nem é suportada em várias linguagens como Java), não ao polimorfismo em si.
- D) Comunicação entre objetos é conceito geral de OO, não polimorfismo.
- E) Descreve exatamente o benefício: tratar objetos de forma genérica via um tipo comum, sem precisar conhecer a classe concreta.