Program.cs
using Galeria.Modelos;
List<Midia> midias = new List<Midia> {
new Imagem("wallpaper.png", "1920x1080"),
new Video("aventurasdocelio.mp4", 133)
};
Console.Clear();
midias.ForEach(m => m.ExibirDetalhes());
Midia.cs
namespace Galeria.Modelos;
class Midia {
public string? Nome {get;}
public Midia(string? nome) {
Nome = nome;
}
public virtual void ExibirDetalhes() {
Console.WriteLine("Midia Genérica.");
}
}
Imagem.cs
namespace Galeria.Modelos;
class Imagem : Midia {
public string? Resolucao {get;}
public Imagem(string? imagem, string? resolucao) : base (imagem) {
Resolucao = resolucao;
}
public override void ExibirDetalhes() {
Console.WriteLine($"Imagem: {Nome} - Resolução: {Resolucao}");
}
}
Video.cs
namespace Galeria.Modelos;
class Video : Midia {
public int Duracao {get;}
public Video(string? imagem, int duracao) : base (imagem) {
Duracao = duracao;
}
public override void ExibirDetalhes() {
Console.WriteLine($"Vídeo: {Nome} - Duração: {Duracao} minutos.");
}
}