Acerca das tecnologias que atendem a PDPJ-Br, julgue o próxi...
Em Java, uma subclasse herda os membros, campos e métodos de sua superclasse direta, podendo acrescentar novos membros, desde que mantenha intactos os membros herdados.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é E - errado.
Vamos entender por que essa alternativa está errada. A questão aborda conceitos fundamentais sobre herança em Java, que é um dos pilares da programação orientada a objetos (POO). Em Java, uma subclasse herda os membros (atributos e métodos) de sua superclasse. No entanto, a questão afirma que a subclasse deve manter esses membros "intactos". Isso não é totalmente verdade.
Em Java, é possível que a subclasse sobrescreva (override) os métodos da superclasse. Ou seja, a subclasse pode fornecer uma implementação específica para um método que foi declarado na superclasse. Essa prática é comum e muitas vezes necessária para ajustar o comportamento herdado ao contexto específico da subclasse.
Para ilustrar, considere o seguinte exemplo:
public class Superclasse { public void metodo() { System.out.println("Método da superclasse"); } } public class Subclasse extends Superclasse { @Override public void metodo() { System.out.println("Método da subclasse"); } }
No exemplo acima, a Subclasse sobrescreve o método metodo da Superclasse. Portanto, quando chamamos o método metodo em uma instância da Subclasse, a versão sobrescrita é executada.
Por outro lado, os campos (atributos) herdados da superclasse não podem ser "sobrescritos" no mesmo sentido que os métodos, mas podem ser ocultados (shadowing). Porém, essa prática não é recomendada e pode levar a confusões no código.
Assim, a afirmativa da questão está errada porque, em Java, a subclasse não precisa manter os métodos herdados "intactos"; ela pode sobrescrevê-los.
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
Com a anotação @Override é possivel alterar os recursos da super na classe atual.
em java a subclasse nao herda os membros, apenas metodos e atributos, podendo fazer a criacao membros proprios sem influenciar na superclasse(pai)
Na herança em Java, a subclasse herda:
- Métodos: A subclasse herda os métodos da superclasse, o que significa que ela pode usar, sobrescrever (override) ou ocultar (hide) métodos da superclasse.
- Atributos (Campos): A subclasse também herda os atributos (ou campos) da superclasse. Assim, ela pode acessar os atributos da superclasse (se forem ou ) e pode ter acesso a métodos de acesso (getters e setters) para esses atributos.
- Construtores: A subclasse não herda os construtores da superclasse. Ela precisa definir seus próprios construtores e pode chamar o construtor da superclasse usando a palavra-chave .
- Métodos e Campos : A subclasse não herda métodos e campos da superclasse. Eles são acessíveis apenas dentro da própria classe da superclasse.
- A subclasse pode definir seus próprios membros (atributos e métodos) que são específicos para a subclasse e não afetam a superclasse.
- Criação de Membros Próprios: A adição de novos atributos ou métodos na subclasse não influencia a superclasse. A subclasse pode definir membros que são exclusivos para ela sem alterar a estrutura ou o comportamento da superclasse.
Polimorfismo por sobrescrita modifica os valores dos métodos da superclasse.
A herança em Java é uma técnica que permite criar novas classes a partir de classes já existentes, reutilizando atributos e métodos que não sejam privados.
Não, em Java não é necessário manter os membros herdados para herdar uma classe.
A classe base ou superclasse é a classe de onde uma subclasse herda os recursos. A classe filha sempre pode ter mais funcionalidades do que a classe mãe, mas não o contrário.
A herança em Java permite criar sistemas mais estruturados, flexíveis e fáceis de manter.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo