Oi, Enzo! Como vai?
Você aplicou corretamente o encapsulamento ao deixar os atributos privados e centralizar a validação no método setPreco(). Isso mostra um cuidado importante com a integridade do objeto, porque o preço não pode ser definido de qualquer jeito.
Uma dica interessante para o futuro é usar IllegalArgumentException quando o valor for inválido, porque isso deixa a validação mais clara e evita manter um produto com preço 0.0 sem necessidade. Veja este exemplo:
public void setPreco(double preco) {
if (preco <= 0) {
throw new IllegalArgumentException("Preco deve ser maior que zero");
}
this.preco = preco;
}
Neste exemplo, o código interrompe a atribuição quando o preço é inválido, ajudando a identificar o problema logo no momento da execução.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!