Foi demostrado que separando em modelo e teste, não é possível ter acesso às variáveis protected (ex:saldo). Quando eu for querer testar, como fazer para conseguir ter esse acesso ?
Foi demostrado que separando em modelo e teste, não é possível ter acesso às variáveis protected (ex:saldo). Quando eu for querer testar, como fazer para conseguir ter esse acesso ?
Olá Isabela! Tudo bem?
Como o intrutor demonstrou, o modificador de acesso protected
limita o acesso do atributo a herança (Classes filhas) e pacote (package). E por isso não conseguimos acessar com uma classe que esteja em outro pacote e não herda diretamente da classe Conta
.
É interessante relembrarmos o efeito de cada um dos modificadores, como a tabelinha abaixo:
Modificador | Nível de acesso |
---|---|
protected | Classes filhas e pacote |
<<package private>> | Apenas pacote |
private | Apenas na própria classe |
Como passamos a utilizar mais de um pacote para organizar nossas classes, o atributo saldo
que havia recebido o modificador de acesso protected
Podemos acessar esse atributo por meio do método deposita
, que utiliza esse atributo para nós. E como se trata de um método público, podemos utiliza-lo em qualquer classe do nosso projeto:
Da mesma forma que o instrutor utilizou o método deposita
nessa classe para nos demonstrar como poderíamos acessar o atributo saldo
, poderiamos também fazer o uso dos famosos métodos get
e set
que vemos no curso de orientação a objetos. São métodos públicos que nos permitem acessar atributos privados.
Se achar interessante, vou deixar aqui um link para acesar a aula específica sobre getters e setters:
Consegui te ajudar com essa resposta?
Se ainda ficou com alguma dúvida, é só falar! 😀