No que se refere à arquitetura de software, julgue o item su...
No que se refere à arquitetura de software, julgue o item subsecutivo.
Na arquitetura orientada a objetos, o polimorfismo é baseado na escolha do método específico a ser realmente chamado no momento da execução da compilação.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Para resolver a questão proposta, é importante entender o conceito de polimorfismo na arquitetura orientada a objetos. Este é um dos princípios fundamentais da Programação Orientada a Objetos (POO) e está relacionado à capacidade de um método de se comportar de diferentes maneiras, dependendo do objeto que o invoca. O polimorfismo permite que o mesmo nome de método execute diferentes operações, de acordo com o contexto de execução.
Explicação Teórica: Em POO, existem dois tipos principais de polimorfismo: o polimorfismo de sobrecarga e o polimorfismo de substituição (ou de tempo de execução). O polimorfismo de sobrecarga ocorre quando há vários métodos com o mesmo nome, mas com diferentes assinaturas, geralmente diferenciados pelo número ou tipo de parâmetros. Já o polimorfismo de substituição acontece quando um método declarado em uma classe pai é sobrescrito por uma classe filha, e a chamada ao método é resolvida em tempo de execução, dependendo do tipo do objeto que realiza a chamada.
No contexto da questão, é incorreto afirmar que o polimorfismo é baseado na escolha do método durante a execução da compilação. Essa descrição está equivocada porque, na verdade, o polimorfismo se refere à escolha do método ser feita em tempo de execução, não durante a compilação. Portanto, a alternativa correta é:
E - errado
Vamos entender por que a alternativa está errada:
1. A frase sugere que a decisão de qual método específico chamar é feita no momento da "execução da compilação", o que não faz sentido, pois a compilação e a execução são duas fases distintas. Na verdade, o polimorfismo dinâmico (ou de tempo de execução) é caracterizado exatamente pela decisão do método a ser chamado ocorrer durante a execução do programa, permitindo que diferentes classes implementem métodos de maneira específica, que são decididos em tempo de execução.
2. A confusão talvez tenha surgido com o polimorfismo de sobrecarga, que é resolvido em tempo de compilação, mas este não é o foco principal na maioria das discussões sobre polimorfismo em arquitetura orientada a objetos.
Portanto, ao ler questões desse tipo, é fundamental distinguir entre o tempo de compilação e o tempo de execução, e lembrar que o polimorfismo dinâmico está estritamente associado ao comportamento em tempo de execução.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Errado
o polimorfismo dinâmico – também conhecido como ligação tardia (late binding) – é resolvido em tempo de execução e não em tempo de compilação. Durante a compilação, ocorre a ligação estática (early binding), que não é o que caracteriza o polimorfismo. O polimorfismo permite que uma variável de um tipo de referência possa apontar para objetos de diferentes classes e que o método apropriado seja chamado conforme o objeto real durante a execução do programa.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo