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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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! 😀