Poderiam me ajudar nesse ultimo deesafio sinto que não entrou em minha cabeça.
Poderiam me ajudar nesse ultimo deesafio sinto que não entrou em minha cabeça.
Olá, Levi! Tudo certo?
Para desenvolver a classe Produto
, você precisará criar os atributos nome
, marca
, preco
e estoque
.
Em C#, é uma boa prática usar propriedades em vez de campos públicos, pois elas permitem encapsular os dados e incluir regras específicas sempre que os valores forem acessados ou modificados.
Como Nome
e Marca
não precisam de validação, podemos usar propriedades automáticas, que já cuidam da criação do campo internamente:
public string Nome { get; set; }
public string Marca { get; set; }
Já para Preco
e Estoque
, precisamos evitar que valores inválidos (como negativos) sejam atribuídos. Para isso, usamos campos privados com validação no set
:
private double preco;
public double Preco
{
get => preco;
set
{
if (value > 0)
preco = value;
else
preco = 10; // valor padrão para evitar preços negativos
}
}
private int estoque;
public int Estoque
{
get => estoque;
set
{
if (value > 0)
estoque = value;
else
estoque = 0; // zera o estoque se for atribuído valor negativo
}
}
Assim, mesmo que alguém tente fazer
produto.Preco = -50
, o sistema impede e corrige automaticamente.
Para facilitar a visualização das informações pela equipe de vendas, criamos uma propriedade de leitura que monta uma frase com os principais dados:
public string DescricaoProduto => $"{this.Nome} {this.Marca} - {this.Preco}";
Com isso, você terá uma classe Produto
:
Deixo aqui também o link com as resoluções do desafio.
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!