Classe Media:
namespace exercise92.Models;
internal class Media
{
public string Name { get; }
public Media(string name)
{
Name = name;
}
public virtual void ShowDetails()
{
return;
}
}
Classe Image:
namespace exercise92.Models;
internal class Image : Media
{
public string Resolution { get; }
public Image(string name, string resolution)
: base(name)
{
Resolution = resolution;
}
public override void ShowDetails()
{
Console.WriteLine($"Image: {Name} - Resolution: {Resolution}");
}
}
Classe Video:
namespace exercise92.Models;
internal class Video : Media
{
public int Duration { get; }
public Video(string name, int duration)
: base(name)
{
Duration = duration;
}
public override void ShowDetails()
{
Console.WriteLine($"Video: {Name} - Duration: {Duration} minutes");
}
}
Instâncias:
using exercise92.Models;
List<Media> digitalMedias = new List<Media>
{
new Image("landscape.jpg", "1920x1080"),
new Video("movie.mp4", 120)
};
foreach (Media media in digitalMedias)
{
media.ShowDetails();
}