Acredito que posso otimizar mais o código mas de ínicio cumpri o próposito da atividade, e entendi a lógica do exercício...
class Produto
{
public Produto(string nome , int quantidadeinicial)
{
this.nome = nome;
this.quantidadeEstoque = quantidadeinicial;
}
private int quantidadeEstoque { get; set;}
public int quantidadeinicial { get; set;}
public string nome { get; set;}
public void Retirar(int quantidade)
{
if(quantidade <= quantidadeEstoque)
{
quantidadeEstoque -= quantidade;
Console.WriteLine($"Retirada de {quantidade} realizada com sucesso");
}
else
{
Console.WriteLine($"Estoque insuficiente para retirada de {quantidade} unidades");
}
}
public void ExibirEstoque()
{
Console.WriteLine($"Produto: {nome}\n" +
$"Estoque:{quantidadeEstoque}");
}
}
Na entrada de dados fiz uma leve melhoria para melhor exibição de dados, achei que de ínicio ficou bacana, me diverti bastante testando e pesquisando...
Produto produto = new Produto("Caneta Azul", 20);
produto.Retirar(5);
Thread.Sleep(2000);
Console.Clear();
produto.ExibirEstoque();
Thread.Sleep(2000);
Console.Clear();
produto.Retirar(30);
Thread.Sleep(2000);
Console.Clear();
Environment.Exit(0);