Olá, Wanderson, como vai?
O seu código atende bem aos requisitos de encapsulamento propostos pelo exercício. Você utilizou corretamente os modificadores de acesso privados e estruturou o método de validação de forma lógica. Uma pequena observação técnica reside na condição do preço no método setPreco. Ao utilizar apenas o operador maior que (>), o valor zero também cairia no bloco de erro, embora o enunciado foque em impedir valores negativos.
Parabéns pela implementação e por praticar os conceitos de visibilidade e proteção de dados em Java. Continue compartilhando suas resoluções para fortalecer o aprendizado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!