Na orientação a objetos, o conceito de polimorfismo é imple...

Próximas questões
Com base no mesmo assunto
Q835186 Engenharia de Software

Na orientação a objetos, o conceito de polimorfismo é implementado, em algumas linguagens, por meio da técnica de sobrecarga de métodos.


Sobre a aplicação desse conceito, é possível afirmar que

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A

O polimorfismo é um conceito fundamental na programação orientada a objetos que permite que objetos de diferentes classes sejam tratados como objetos de uma mesma superclasse. Isso habilita o uso de uma interface comum, ao mesmo tempo em que permite comportamentos específicos para cada subclasse. Vamos analisar o porquê da alternativa A ser a correta.

A - um mesmo método pode estar em classes diferentes, com a mesma assinatura, sem que isso prejudique a sua identificação pelo compilador.

Esta alternativa é verdadeira porque o polimorfismo permite que métodos com a mesma assinatura (mesmo nome e parâmetros) residam em classes diferentes sem confusão para o compilador. Isto é possível graças ao contexto em que os métodos são chamados, ou seja, os objetos que invocam os métodos são de classes distintas, e o compilador sabe diferenciar qual implementação do método chamar com base na classe do objeto. A sobrecarga de métodos é uma forma de polimorfismo em que um método com o mesmo nome é definido várias vezes em uma classe ou em classes diferentes, variando apenas na assinatura, por exemplo, no tipo ou no número de parâmetros.

O conhecimento sobre a estrutura de classes, herança e polimorfismo é essencial para responder corretamente a essa questão. Entender como o compilador identifica e vincula chamadas de métodos em tempo de compilação e execução é fundamental para reconhecer a validade da alternativa A. Em resumo, o polimorfismo permite que diferentes implementações de métodos com a mesma assinatura coexistam em diferentes classes e que o compilador as gerencie de maneira eficiente, sem conflito.

É importante lembrar que as outras alternativas apresentam conceitos incorretos ou mal interpretados sobre polimorfismo e assinatura de métodos, o que as torna incorretas. A alternativa A destaca corretamente a capacidade do polimorfismo de gerir métodos homônimos em diferentes classes.

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

Gabarito A, mas não concordo:

até onde eu sei sobrecarga necessita de assinaturas diferentes.

Concordo com o Souza Silva. Como o método está distribuído pelas diversas classes não houve sobrecarga (overload), apenas houve uma forma de polimorfismo, mas "descentralizada", ou eu diria: reúso. 

Há uma pegadinha no enunciado. o comando final do enunciado diz "Sobre a aplicação desse CONCEITO, é possível afirmar que"

O CONCEITO que ele se refere anteriormente é o POLIMORFISMO (e SÓ! genérico mesmo, sem dizer se é de sobreposição ou sobrecarga). Ele NÃO tá se referindo a TÉCNICA de polimorfismo de sobrecarga de métodos. 

Pegadinha de enunciado. 

realmente a questão se refere ao conceito de polimorfismo e exemplificou no enunciado um tipo deles, mas não necessariamente se referindo a esse tipo, neste caso a letra A fica correta mesmo.

Pessoal, o que identificaram como erro da D?

Sobre a A, marquei-a como errada, pois no polimorismo dinâmico (sobrescrita) o método que será executado é identificado em tempo de execução, e não pelo compilador, como afirma o item A.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo