Resolvi criar uma seção para podcasts que contenha os podcasts de um criador (similar a classe Banda) e que também tenha detalhes sobre cada podcast (similar a classe Música). Para isso, criei duas classes: PodcastCriador e a Podcast.
Classe PodcastCriador:
class PodcastCriador
{
private List<Podcast> podcasts = new List<Podcast>();
public PodcastCriador(string nome)
{
Nome = nome;
}
public string Nome { get; }
public void AdicionarPodcasts(Podcast podcast)
{
podcasts.Add(podcast);
}
public void ExibirPodcastsDoCriador()
{
Console.WriteLine($"Podcasts de {Nome}\n");
foreach ( Podcast podcast in podcasts ) {
Console.WriteLine($"Podcast: {podcast.Nome} ({podcast.Duracao})\n");
}
}
}
Classe Podcast:
class Podcast
{
public Podcast(PodcastCriador criador ,string nome, int dataAno)
{
Criador = criador;
Nome = nome;
DataAno = dataAno;
}
public string Nome { get; }
public PodcastCriador Criador { get; }
public int Duracao { get; set; }
public int DataAno { get; }
public string DescricaoResumida => $"O podcast {Nome} foi criado por {Criador.Nome} no ano de {DataAno}";
public void ExibirFichaTecnica()
{
Console.WriteLine($"Nome do Podcast: {Nome}");
Console.WriteLine($"Criador por: {Criador.Nome}");
Console.WriteLine($"Feito no ano de: {DataAno}");
Console.WriteLine(DescricaoResumida + $"\nDuração: {Duracao} segundos\n");
}
}
No Program:
Console.WriteLine("\n******************");
Console.WriteLine(" Seção Podcasts");
Console.WriteLine("******************\n");
PodcastCriador criador = new PodcastCriador("Café");
Podcast podcast1 = new Podcast(criador, "Bom dia", 2023);
podcast1.Duracao = 500;
Podcast podcast2 = new Podcast(criador, "Boa Tarde", 2022);
podcast2.Duracao = 550;
criador.AdicionarPodcasts(podcast1);
criador.AdicionarPodcasts(podcast2);
criador.ExibirPodcastsDoCriador();
podcast1.ExibirFichaTecnica();
podcast2.ExibirFichaTecnica();
:)