1
resposta

[Dúvida] questão numero 4?

Poderiam me ajudar nesse ultimo deesafio sinto que não entrou em minha cabeça.

1 resposta

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.

Nome e Marca

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; }

Preço e Estoque

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.

Descrição do Produto

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}";

Resultado

Com isso, você terá uma classe Produto:

  • Com validação de dados sensíveis, como preço e estoque;
  • Que fornece uma descrição pronta para exibição;
  • E que segue boas práticas de encapsulamento e organização em C#.

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!