Acesso a membros e a herança

Java para Iniciantes (Oracle) - Sep 9 - - Dev Community
  • No Java, variáveis de instância de uma classe são frequentemente declaradas como private para proteger o acesso e evitar adulteração.

  • A herança não invalida a restrição de acesso private.

  • Mesmo que uma subclasse herde todos os membros de sua superclasse, não poderá acessar os membros declarados como private.

  • Por exemplo, se width e height forem declaradas como private em TwoDShape, a subclasse Triangle não poderá acessá-las.

Image description

  • A classe Triangle não será compilada porque tenta acessar width e height, que são private em TwoDShape, causando uma violação de acesso.

  • Variáveis private só podem ser acessadas pelos membros da própria classe em que foram declaradas; subclasses não têm acesso a essas variáveis.

  • Embora isso possa parecer uma restrição, é possível contornar o problema usando métodos acessores.

  • Métodos acessores podem ser utilizados para fornecer acesso controlado a variáveis private.

  • A seguir, um exemplo de como modificar TwoDShape e Triangle para usar métodos acessores para width e height.

Image description

Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player