Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Resolução] Faça como eu fiz: exibindo mídias

Midia.cs

internal class Midia(string nome)
{
    internal string Nome { get; } = nome;
    internal virtual void ExibirDetalhes()
        => Console.WriteLine("Midia: " + Nome);
}

Imagem.cs

internal class Imagem(string nome, string resolucao)
    : Midia(nome)
{
    public string Resolucao { get; } = resolucao;
    internal override void ExibirDetalhes()
        => Console.WriteLine($"Imagem: {Nome} - Resolução: {Resolucao}");
}

Video.cs

internal class Video(string nome, int duracao)
    : Midia(nome)
{
    internal int Duracao { get; } = duracao;
    internal override void ExibirDetalhes()
        => Console.WriteLine($"Vídeo: {Nome} - Duração: {Duracao} minutos");
}

Program.cs

List<Midia> midias =
[
    new Imagem("paisagem.jpg", "1920x1080"),
    new Video("filme.mp4", 120)
];

foreach (var midia in midias)
    midia.ExibirDetalhes();
2 respostas
solução!

Olá, Gerson! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de herança para estruturar diferentes tipos de mídias com C#, utilizou muito bem a sobrescrita de métodos para personalizar a exibição de detalhes em cada classe e ainda compreendeu a importância do polimorfismo para tratar objetos de forma genérica em uma lista.

Uma dica interessante para o futuro é adicionar novos tipos de mídia, como um Audio, aproveitando a mesma estrutura de herança. Assim:

internal class Audio(string nome, int duracao) : Midia(nome)
{
    internal int Duracao { get; } = duracao;
    internal override void ExibirDetalhes()
        => Console.WriteLine($"Áudio: {Nome} - Duração: {Duracao} minutos");
}

Isso faz com que o programa seja facilmente expansível, permitindo incluir diferentes formatos sem alterar a lógica principal.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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

Entendido Daniel, muito obrigado.