Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Faça como eu fiz: modelando um produto digital com informações técnicas

Program.cs

Console.Clear();
var info = new InformacaoTecnica(1820, "Ubuntu");
var produto = new ProdutoDigital ("DazPaint", 45.90m, info);
produto.ExibirDetalhes();

ProdutoDigital.cs

class ProdutoDigital {
    public string? Nome {get;set;}
    public decimal Preco {get; set;}
    public InformacaoTecnica? InfoTecnica {get;set;}

    public ProdutoDigital(string? nome, decimal preco, InformacaoTecnica? infoTecnica) {
        Nome = nome;
        Preco = preco;
        InfoTecnica = infoTecnica;
    }
    public void ExibirDetalhes() {
        Console.WriteLine($"Nome: {Nome}");
        Console.WriteLine($"Preço: R${Preco}");
        Console.WriteLine($"Tamanho: {InfoTecnica!.TamanhoMB}mb");
        Console.WriteLine($"Sistema Operacional: {InfoTecnica!.SistemaOperacional}");
    }
}

InformacaoTecnica.cs

class InformacaoTecnica {
    public int TamanhoMB {get; set;}
    public string SistemaOperacional {get; set;}

    public InformacaoTecnica(int tamanhoMB, string sistemaOperacional) {
        TamanhoMB = tamanhoMB;
        SistemaOperacional = sistemaOperacional;
    }
}
1 resposta
solução!

Oi, Diego! Como vai?

Agradeço por compartilhar.

O seu projeto ficou bem organizado ao separar as classes ProdutoDigital e InformacaoTecnica. Essa estrutura mostra um bom uso de orientação a objetos, onde o produto possui uma informação técnica associada, facilitando a leitura e manutenção do código. A criação do objeto InformacaoTecnica e sua passagem no construtor do ProdutoDigital mostra que você aplicou corretamente o conceito de composição entre classes.

Uma dica interessante para o futuro é utilizar o método ToString() para retornar informações de uma classe de forma organizada, evitando repetir Console.WriteLine em vários pontos do código.



class ProdutoDigital {

    public string Nome { get; set; }

    public decimal Preco { get; set; }

    public override string ToString() {
        return "Nome: " + Nome + " | Preco: " + Preco;
    }

}

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!