Uma classe pode acessar atributos de uma superclasse mesmo ...

Próximas questões
Com base no mesmo assunto
Q314394 Programação
Com relação à linguagem Java, julgue os próximos itens.

Uma classe pode acessar atributos de uma superclasse mesmo quando eles são declarados como private.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E - errado

Na linguagem Java, o encapsulamento é um princípio fundamental da programação orientada a objetos (POO). Este princípio permite que o acesso aos atributos e métodos de uma classe seja controlado. Em Java, existem quatro níveis de visibilidade para atributos e métodos: public, protected, default (nenhum modificador) e private.

O modificador private é o mais restritivo, significando que o atributo ou método só pode ser acessado dentro da própria classe em que foi declarado. Isso implica que, mesmo em uma relação de herança, uma subclasse não é capaz de acessar diretamente atributos private da sua superclasse. Portanto, se uma classe deseja expor algum atributo privado à suas subclasses, ela deve fornecer métodos de acesso, como getters e setters, que são métodos public ou protected destinados a ler e modificar, respectivamente, os valores desses atributos privados.

Assim, a afirmação de que "Uma classe pode acessar atributos de uma superclasse mesmo quando eles são declarados como private" está incorreta porque viola as regras de encapsulamento em Java. A maneira correta de uma subclasse acessar atributos privados da superclasse é através de métodos de acesso definidos na própria superclasse, o que não é um acesso direto aos atributos, mas sim um acesso controlado e intencionalmente permitido pela superclasse.

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

Errado. O modificador private restringe o acesso à classe definidora do método. Uma sugestão de correção seria:

"Uma classe pode acessar atributos de uma superclasse mesmo quando eles são declarados como   protected  ."
No entanto, eles podem ser acessados indiretamente através de métodos getters e setters.
Visibilidade é utilizada para identificar o nível de acessiblidade de um atributo ou método do sistema, existem quatro modos de visibilidade:  Público, protegido, privado e pacote.

Privado (-): Significa que os objetos da classe detentora do atributo ou método poderão enxergá-lo ou utilizá-lo.  

Protegido (#): Determina que além dos objetos da classe detentora do atributo ou método também os objetos de suas subclasses poderão ter acesso ao mesmo. 

Pública (+): Determina que o atributo ou método pode ser utilizado por qualquer objeto.

Pacote (~):  Determina que o atributo ou método é visivel por qualquer objeto dentro do pacote. 

Aquele tipo de questão que é certa e errada ao mesmo tempo

Clique para visualizar este comentário

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