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();