1
resposta

Resposta - Modelando um produto digital com informações técnicas

Classes:

public class TechnicalInformation
{
    public double SizeMB { get; set; }
    public string OperatingSystem { get; set; }

    public TechnicalInformation(double sizeMb, string operatingSystem)
    {
        SizeMB = sizeMb;
        OperatingSystem = operatingSystem;
    }
}
public class DigitalProduct
{
    public string Name { get; set; }
    public double Price { get; set; }
    public TechnicalInformation TechnicalInformation { get; set; }

    public DigitalProduct(string name, double price, TechnicalInformation technicalInformation)
    {
        Name = name;
        Price = price;
        TechnicalInformation = technicalInformation;
    }

    public void show_details()
    {
        Console.WriteLine($"Product: {Name}");
        Console.WriteLine($"Price: ${Price:F2}");
        Console.WriteLine($"Size: {TechnicalInformation.SizeMB:F2}");
        Console.WriteLine($"Compatible with: {TechnicalInformation.OperatingSystem}");
    }
}

Instância:

TechnicalInformation technicalInformation = new TechnicalInformation(1500, "Windows/mac");
DigitalProduct product = new DigitalProduct("Photoshop", 89.99, technicalInformation);
product.show_details();
1 resposta

Olá, Carlos, como vai?

Seu código está bem organizado e cumpre o objetivo proposto no exercício. As classes estão claras, os construtores fazem sentido e a relação entre o produto digital e suas informações técnicas foi estabelecida de forma adequada.

Há apenas um ponto opcional que você pode considerar: o método show_details poderia seguir o padrão PascalCase usado nos demais membros da classe, tornando-se ShowDetails, o que deixa o código mais consistente com a convenção da linguagem.

Continue enviando seus exercícios por aqui. O fórum está à disposição.

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