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.
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.
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).