

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em sistemas baseados em programação orientada a objetos, o polimorfismo de inclusão (subtipagem) permite que uma referência tipada por uma superclasse ou interface seja associada, em tempo de execução, a instâncias de diferentes tipos concretos pertencentes à mesma hierarquia. Considere um cenário em que:
*Há uma hierarquia de tipos com sobrescrita de métodos (overriding);
*As chamadas de métodos são realizadas por meio de referências da superclasse;
*O mecanismo de despacho de métodos seleciona a implementação com base no tipo dinâmico do objeto;
*Não há uso de métodos estáticos, nem ocultação de métodos (method hiding);
*O comportamento de vinculação tardia (late binding) está corretamente implementado.
A esse respeito, assinale a alternativa correta:
O mecanismo descrito caracteriza despacho dinâmico (dynamic dispatch), no qual a implementação invocada é determinada em tempo de execução com base no tipo concreto do objeto, assegurando o polimorfismo por subtipagem.
A seleção do método a ser executado ocorre em tempo de compilação com base no tipo estático da referência, caracterizando static binding e garantindo polimorfismo de inclusão.
O comportamento descrito depende da utilização de polimorfismo paramétrico (parametric polymorphism), no qual tipos genéricos são definidos em tempo de compilação, sendo necessário que o compilador determine previamente as instâncias de tipos concretos para permitir a seleção dinâmica de métodos.
A resolução do método depende da presença de sobrecarga de métodos (overloading), em que múltiplas versões de um mesmo método são definidas com assinaturas diferentes, sendo a escolha realizada em tempo de compilação com base nos tipos dos argumentos fornecidos.
A ausência de métodos estáticos impede a ocorrência de polimorfismo, pois a vinculação dinâmica exige que os métodos sejam resolvidos antecipadamente pelo compilador para que possam ser corretamente associados às chamadas em tempo de execução.