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.
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.
Top comments (0)