Classe Program:
List<Midia> midias = new()
{
new Imagem("paisagem.jpg", "1920x1080"),
new Video("filme.mp4", 120)
};
foreach (var midia in midias)
{
midia.ExibirDetalhes();
}
Classe Midia:
namespace Polimorfismo.ExibindoMidias;
internal class Midia(string nome)
{
public string Nome { get; set; } = nome;
public virtual void ExibirDetalhes()
{
Console.WriteLine("Midia: " + Nome);
}
}
Classe Imagem:
namespace Polimorfismo.ExibindoMidias;
internal class Imagem(string nome, string resolucao) : Midia(nome)
{
public string Resolucao { get; set; } = resolucao;
public override void ExibirDetalhes()
{
Console.WriteLine($"Imagem: {Nome} - Resolução: {Resolucao}");
}
}
Classe Video:
namespace Polimorfismo.ExibindoMidias;
internal class Video(string nome, int duracao) : Midia(nome)
{
public int Duracao { get; set; } = duracao;
public override void ExibirDetalhes()
{
Console.WriteLine($"Vídeo: {Nome} - Duração: {Duracao} minutos");
}
}