Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] setSaldo quebra o encapsulamento, mas não é parecido com o modelo da aula?

na task sobre código encapsulado fiquei na duvida do por que o setSaldo não poder ser usado, já que na aula temos atributos private sendo usado o set também.

2 respostas
solução!

Kennia, boa tarde.

No meu singelo conhecimento, normalmente atributos muito sensiveis como saldo por mais que estão privados, eles não devem ter um valor atribuido diretamente pelo o setSaldo, e uma boa pratica você inicializar o valor do atributo diretamente pelo construtor e atualizar o valor da variavel atráves de metodos que contem uma regra de negocio.

Até porque você imagina que, já foi setado o valor do saldo através do construtor não faz sentido você ter um metodo setSaldo para possivelmente atualiza-ló depois.

Bom dia, Kennia,

Contribuindo um pouco mais com o que o Maxuel falou, como a classe de Conta já possui um método público deposita(double valor) com a responsabilidade de manipular o saldo do cliente. É uma boa prática concentrarmos qualquer lógica de manipulação de saldo em um método só, e o outro ponto é que semanticamente, quando visualizamos métodos setters, acreditamos, em um primeiro momento, que haverá a atribuição de um valor a uma variável privada ou protegida de instância. Tipo assim: Fazer um depósito(double saldo) nos fala mais sobre o que o método vai fazer do que o método setSaldo(double saldo).