O uso de herança pode otimizar o tempo de desenvolvimento da...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: A
A alternativa correta é a Alternativa A. Vamos agora entender o porquê e analisar as demais opções.
A questão aborda conceitos fundamentais de herança em programação orientada a objetos (POO), que é uma técnica através da qual uma nova classe (subclasse) pode herdar atributos e métodos de uma classe existente (superclasse). Isso facilita o reaproveitamento de código e pode otimizar o tempo de desenvolvimento.
Justificativa da Alternativa Correta:
Alternativa A: Esta alternativa está correta porque uma subclasse pode, de fato, ser usada como uma superclasse para outras subclasses. Isso significa que, ao derivar novas subclasses de uma subclasse existente, a subclasse original atua como uma superclasse. Esse conceito está correto e é um dos fundamentos da hierarquia de classes em POO.
Análise das Alternativas Incorretas:
Alternativa B: Esta afirmação está incorreta. Na herança, é a subclasse que herda atributos e métodos da superclasse, e não o contrário. A superclasse não herda nada da subclasse. Além disso, atributos privados da superclasse não são acessíveis diretamente na subclasse.
Alternativa C: Esta alternativa está errada porque a linguagem Java, até a versão 6 e nas versões subsequentes, não suporta herança múltipla de classes. Java permite herança múltipla apenas através da implementação de múltiplas interfaces.
Alternativa D: Esta alternativa também está incorreta. O polimorfismo, que é a capacidade de usar a mesma interface para diferentes tipos de ação, não depende exclusivamente da sobrecarga de métodos. Ele pode ser obtido através da sobrescrita de métodos e através do uso de interfaces e classes abstratas.
Alternativa E: Esta alternativa está errada porque os métodos de uma superclasse podem ser sobrescritos nas subclasses. A sobrescrita permite que uma subclasse forneça uma implementação específica de um método que já existe em sua superclasse.
Espero que esta explicação tenha tornado mais claro o conceito de herança e os pontos abordados na questão. Se tiver mais dúvidas ou precisar de mais exemplos, estou à disposição para ajudar!
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
Letra A
Questão para ser feita via eliminação.
A) CORRETA. Por exemplo, Meio de Transporte (classe genérica) pode ter como subclasses: Terrestre, Aquático e Aéreo. Se um novo meio de transporte Terrestre for criado, a classe Terrestre será superclasse, ou seja, Carro terá as características de sua classe ancestral.
B) ERRADA. A subclasse herda os atributos da superclasse.
C) Java não dá suporte à herança múltipla.
D) É possível ter polimorfismo também com sobreposição.
E) Podem ser sobrescritos. Falar em sobrecarregado consiste em polimorfismo na mesma classe. Quando ocorrer em uma hierarquia de classe, isto será sobreposição.
Bons estudos!
a) Eu -> MeuPai -> MeuAvo
MeuPai é superclasse de Eu, MeuAvo é superclasse de MeuPai e de Eu.
b) ao contrário, a subclasse herda os atributos da superclasse.
c) Java não suporta herança múltipla em nenhuma versão.
d) Polimorfismo independe de sobrecarga de métodos (overload). Não limita-se a métodos, posso usá-lo dentro de métodos, como parâmetros de um método, retorno de um método, etc
public Animal getAnimal() {
if (animalLate) return new Cachorro();
if (animalMia) return new Gato();
return null;
}
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de .
No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de . Esse mecanismo de redefinição não deve ser confundido com o mecanismo de .
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo