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

Quando usar o Setter?

Buenas,fiquei em dúvida em relação a utilização do setter,entendi que o getter é utilizado para mandar o conteúdo sem modificar o mesmo ,mas puxando um cenário semelhante ao do banco ,eu quero que meu saldo seja maior que zero (regra de negocio ),como boa prática eu devo utilizar um setter para validar esse meu saldo ?

2 respostas

Felipe, bom dia

Não entendi muito bem a sua dúvida quanto ao método setter, porém vamos lá :

Os métodos getters e setters são os métodos usuados normalmente para você recuperar o valor de um atributo privado da sua classe (get) e para você dar um valor aos mesmos atributos (set).

Para você settar um valor com qualquer regra, basta você adicionar sua regra de negócio dentro do seu metodo setter, como por exemplo :

public void setSaldo(int valor){ //sua lógica com o valor passado }

Como boa prática eu adoto a regra do meu método setter sempre retornar o valor que eu quero sem lógica e coloco a responsabilidade de validação de regra de negócio para outro método.

Espero ter ajudado, qualquer coisa posta aí...

solução!

O setter é responsável por alterar o valor da sua variável, então sim, respondendo à sua pergunta, é uma boa prática delegar ao setter uma regra de negócio sobre a alteração desta variável. Já que, normalmente, getters e setters são usados com variáveis privadas, ou seja, o único meio de modificação será o setter. Então você tem o controle que qualquer um que tente modificar o seu saldo tenha que usar o setter e consequentemente passar pela validação da regra de negócio.

Exemplo do seu caso:

public void setSaldo(double valor){
    if (valor > 0)
        this.saldo = valor;
    else
        System.out.err('Tentativa de inserir saldo com valor igual ou menor que zero. O saldo não foi modificado.');
}