1
resposta

Testar aplicações do diretório teste que envolvem atributos protected

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 ?

1 resposta

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:

ModificadorNível de acesso
protectedClasses filhas e pacote
<<package private>>Apenas pacote
privateApenas 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:

Código da classe ContaEspecial que herda da classe Conta, com um destaque para o método deposita, que recebe um double como parâmetro e soma ao valor do saldo atual

 

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:

Aula de Getters e Setters

Consegui te ajudar com essa resposta?

Se ainda ficou com alguma dúvida, é só falar! 😀