Acerca das tecnologias que atendem a PDPJ-Br, julgue o próxi...

Próximas questões
Com base no mesmo assunto
Q2562303 Programação
Acerca das tecnologias que atendem a PDPJ-Br, julgue o próximo item.


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. 
Alternativas

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:

  1. 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.
  2. 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.

  1. 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 .
  2. 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