Aqui estão os códigos do desafio, espero que tenham ficado bons! OBS: Não liguem para os convidados que foram no meu podcast, não foram nada criativos.
Còdigo do podcast:
class Podcast
{private string nome;
private string host;
private List<Episodio> episodios=new List<Episodio>();
public Podcast(string nome, string host)
{
this.nome=nome;
this.host=host;
}
public void AdicionarEpisodio(Episodio episodio)
{
episodios.Add(episodio);
}
public void ExibirDetalhes()
{
Console.WriteLine($"Nome do podcast: {nome}.\nHost do podcast: {host}.\n");
Console.WriteLine("Lista de episódios do podcast:\n");
foreach(Episodio ep in episodios)
{
Console.WriteLine(ep.Resumo);
}
}
}
Código do episódio:
class Episodio
{
private int numero;
private string titulo;
private int duracao;
private List<string> convidados=new List<string>();
public Episodio(int numero, string titulo, int duracao)
{
this.numero=numero;
this.titulo=titulo;
this.duracao=duracao;
}
public string Resumo
{
get
{
return $"Episódio número {numero}.\nTítulo do episódio: {titulo}.\nDuração deste episódio: {duracao} minutos.\nConvidados que foram a este episódio: {string.Join(", ", convidados)}.";
}
}
public void AdicionarConvidado(string convidado)
{
convidados.Add(convidado);
}
}
Código principal:
//Criação do podcast
Podcast entrevista=new Podcast("Entrevista com bandas famosas", "Caio Martins");
//criação dos episódios
Episodio ep1=new Episodio(1, "Conhecendo os famosos", 7);
ep1.AdicionarConvidado("Um cantor");
ep1.AdicionarConvidado("um baterista");
ep1.AdicionarConvidado("um tecladista");
ep1.AdicionarConvidado("o apresentador");
Episodio ep2=new Episodio(2, "Só uma palinha", 9);
ep2.AdicionarConvidado("Um outro tecladista");
ep2.AdicionarConvidado("mais um baterista");
ep2.AdicionarConvidado("O amigo do apresentador");
Episodio ep3=new Episodio(3, "Finalização", 4);
ep3.AdicionarConvidado("o cachorrinho do baterista");
ep3.AdicionarConvidado("o caminhão pra levar os instrumentos");
ep3.AdicionarConvidado("O apresentador mais uma vez");
//Adicionando os episódios ao podcast
entrevista.AdicionarEpisodio(ep1);
entrevista.AdicionarEpisodio(ep2);
entrevista.AdicionarEpisodio(ep3);
//Exibindo os detalhes do podcast
entrevista.ExibirDetalhes();