Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atributo Protected

Mudei o atributo "saldo" para protected, porém a minha classe "TesteContas" ainda está conseguindo modificar este atributo e eu queria apenas que minhas classes filhos modificassem. Como eu bloqueio a alteração desse atributo, permitindo apenas para os filhos ?

1 resposta
solução!

Oi Antonio, tudo bem?

Infelizmente não existe uma maneira de anular essa propriedade de protected, qualquer outra classe que se encontra no mesmo pacote, pode acessar os atributos.

Futuramente, na parte 5 do curso, veremos que um projeto geralmente é subdivido em pacotes. Sendo que um pacote irá guardar as classes relacionadas ao modelo de negócio e algum outro guardará os testes de código, por exemplo. O que talvez pudesse resolver esse problema do TesteContas conseguir acessar o saldo. Mas, em geral, você vai querer utilizar o modificador de acesso private para os atributos de sua classe.

Citando um trecho do capítulo 9 da apostila de Java e Orientação a Objetos da Caelum:

"Sempre usar protected?

Então por que usar private? Depois de um tempo programando orientado a objetos, você vai começar a sentir que nem sempre é uma boa ideia deixar que a classe filha acesse os atributos da classe mãe, pois isso quebra um pouco a ideia de que só aquela classe deveria manipular seus atributos. (...)"

Espero ter ajudado, se ficou qualquer dúvida é só avisar!

Bons estudos!!