Gostaria de saber se essa resolução estar valida.
A ideia central foi proteger o atributo preco contra valores incorretos, como números negativos, garantindo que o objeto esteja sempre em um estado válido.
public class Principal {
public static void main(String[] args) {
Cadastro cadastro = new Cadastro(-59.90, "Mouse");
cadastro.contolePreco();
System.out.printf("\nProduto: %s \nPreço: %.2f", cadastro.getNome(), cadastro.getPreco());
}
}
public class Cadastro {
private String nome;
private double preco;
public Cadastro(double preco, String nome) {
this.preco = preco;
this.nome = nome;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
void contolePreco() {
if (preco <= -0) {
preco = 0.00;
System.out.printf("Preço inválido");
}else {
System.out.printf("Preço valido");
}
}
}