Na orientação a objetos
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A
Para resolver esta questão, é essencial compreender os conceitos de herança e polimorfismo na orientação a objetos. A herança é um mecanismo que permite que uma classe-filha reutilize membros (atributos e métodos) de uma classe-pai, enquanto o polimorfismo permite que um método possa ter várias formas e comportamentos, dependendo da classe que o implementa.
A Alternativa A está correta pois descreve acuradamente a herança ao afirmar que membros de uma classe-pai podem ser reaproveitados em uma classe-filha. Ela acrescenta que a classe-filha tem acesso aos membros públicos e protegidos da classe-pai, o que é uma afirmação correta sobre o controle de acesso em herança. Em relação ao polimorfismo, a alternativa menciona métodos abstratos definidos em classes abstratas, os quais devem ser implementados nas classes-filhas, podendo, nessas classes, apresentar comportamentos distintos. Isso reflete com precisão o conceito de polimorfismo, onde uma mesma assinatura de método pode comportar-se de forma diferente dependendo da instância (ou classe-filha) que a invoca.
Compreender esses conceitos e ser capaz de reconhecer suas definições e aplicações corretas é crucial para o sucesso em questões de engenharia de software em concursos públicos.
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
O polimorfismo é aplicado ao caso em que existe a necessidade de implementar métodos sobrecarregados, nos quais a classe-filha necessita implementar dois métodos com o mesmo nome e parâmetros diferentes.
Isso é o chamado polimorfismo de Ad-hoc (sobrecarga/overload). Conforme a definição do Wikipedia:
Existem três tipos de polimorfismo que a linguagem pode ter (atente para o fato de que nem toda linguagem orientada a objeto tem implementado todos os tipos de polimorfismo):
- Universal
- Inclusão - um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java:
List lista = new LinkedList();
(tipo de polimorfismo mais básico que existe) - Paramétrico - se restringe ao uso de templates (C++, por exemplo) e generics (C#/Java)
- Inclusão - um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java:
- Ad-Hoc
- Sobrecarga - duas funções/métodos com o mesmo nome mas assinaturas diferentes
Ele só não citou os outros polimorfismos, mas isso não invalida a questão.
Alguém pode comentar?
Você disse que a questão está incompleta, por este motivo devemos marcar a alternativa mais completa que por sinal é a letra A.
A questão está errada pelo simples fato que troucou sobreescrita por sobrecarga.
A sobrecarga ocorre quando o mesmo método recebe parâmetros diferentes, na mesma classe.
"O conceito de herança estabelece que uma classe possa aproveitar ..." - o mais correto seria REAPROVEITAR.
"O polimorfismo é aplicado ao caso em que existe a necessidade de implementar métodos sobrecarregados" Polimorfismo não é só sobrecarga, também há sobrescrita.
A classe filha pode sobrescrever apenas 1 dos dois métodos sobrecarregados, não precisa implementar os 2.
Uma Dica: quando a questão não falar qual polimorfismo é, ela está se referindo ao dinâmico.
Bons estudos!!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo