Os membros de uma superclasse definidos com o modificador pr...

Próximas questões
Com base no mesmo assunto
Q1853869 Programação
Os membros de uma superclasse definidos com o modificador protected da linguagem Java podem ser acessados por
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C

No contexto de programação Java, entender os modificadores de acesso é essencial para gerenciar a visibilidade e o acesso das propriedades e métodos de uma classe. Quando um membro de uma classe é declarado com o modificador protected, ele se torna acessível não apenas aos membros da própria classe (também conhecida como superclasse), mas também às classes descendentes, ou seja, as subclasses, e adicionalmente a outras classes que estiverem no mesmo pacote.

Portanto, a alternativa C está correta porque ela afirma que membros definidos como protected em uma superclasse podem ser acessados pelos próprios membros dessa superclasse, pelos membros da subclasse e também por membros de outras classes dentro do mesmo pacote. Isso permite um equilíbrio entre segurança e flexibilidade, protegendo o acesso a esses membros de classes totalmente externas, ao mesmo tempo em que permite herança e colaboração dentro de um mesmo pacote.

As demais alternativas são incorretas: a A limita o acesso apenas a membros estáticos da subclasse, o que vai contra as regras do modificador protected; a B exclui as outras classes do mesmo pacote, que de fato têm acesso; e a D sugere que somente membros da própria superclasse teriam acesso, o que também é incorreto.

Para resolver questões como essa, é importante ter um bom entendimento dos princípios de encapsulamento e dos diferentes modificadores de acesso em Java: public, private, protected, e acesso de pacote (ou default, quando nenhum modificador é especificado). Saber como cada um deles influencia o acesso às variáveis e métodos é crucial para a correta aplicação de princípios de orientação a objetos e no design seguro de sistemas.

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

GABARITO C

Protected: essa instrução indica que métodos ou atributos (classes, não) assim declaradas somente podem ser acessadas dentro do pacote em que está contida ou por subclasses no mesmo pacote.

FONTE: Estratégia

É importante não confundir o significado de protected em Java e em UML. Em Java, protected é a visibilidade que permite o acesso pela própria classe (private), subclasses e classes do mesmo pacote (pacote). Já em UML, protected é a visibilidade que permite o acesso apenas pela própria classe (private) e subclasses.

protected. O modificador protected torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados.

  1. Protected pode ser acessada por por classes de mesmo pacote ou classes filhas de pacotes diferentes.
  2. Public pode ser acessada por qualquer classe
  3. Private pode ser acessada somente pela própria classe
  4. Default pode ser acessada por classes de mesmo pacote (é mais restrita que protegido)

Clique para visualizar este comentário

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