Qual dos seguintes é um exemplo de polimorfismo dinâmico?
Questão
Qual dos seguintes é um exemplo de polimorfismo dinâmico?
Alternativas
A) Declaração de variáveis finais.
B) Sobrescrita de método.
C) Criação de construtores múltiplos.
D) Uso de variáveis estáticas.
E) Sobrecarga de método.
Explicação
- Polimorfismo dinâmico (também chamado de polimorfismo em tempo de execução) ocorre quando a linguagem decide qual implementação de um método será executada durante a execução do programa, com base no tipo real (dinâmico) do objeto.
- O mecanismo clássico que permite isso em orientação a objetos é a sobrescrita (override): uma classe filha redefine um método da classe pai, e uma referência do tipo do pai pode apontar para um objeto do filho; ao chamar o método, executa-se a versão do filho.
- Analisando as alternativas:
- A) Variáveis finais: relaciona-se a imutabilidade/restrição de reatribuição, não a polimorfismo.
- B) Sobrescrita de método: é exatamente o exemplo típico de polimorfismo dinâmico.
- C) Construtores múltiplos: é sobre diferentes formas de inicialização, não polimorfismo.
- D) Variáveis estáticas: pertencem à classe, não ao objeto; não representam despacho dinâmico.
- E) Sobrecarga de método (overload): é polimorfismo estático (tempo de compilação), pois a escolha do método é resolvida pelo compilador.
Alternativa correta: (B).