1
resposta

[Dúvida] Podcast - Fiquei perdido

Podcast.cs

class Podcast
{
    private List<Episodio> listaEps = new List<Episodio>();
    public Podcast(string host, string nome)
    {
        Host = host;
        Nome = nome;
    }

    public string Host { get;  }
    public string Nome { get; }
    public int TotalEpisodios { get; set; }


    public void AdicionarEpisodio(Episodio episodio)
    {
        listaEps.Add(episodio);
    }

    public void ExibirDetalhes()
    {

        foreach (Episodio episodio in listaEps) 
        { 
            Console.WriteLine($"Podcast {Nome} apresentado por {Host}");
            Console.WriteLine($"Episodio número: {episodio.Ordem}");
            Console.WriteLine($"Total de eps: {listaEps.Count}");
        }
        
    }
}

Epsidodio.cs

class Episodio
{
    private List<string> convidados = new List<string>();
    public Episodio(string titulo, int ordem, int duracao)
    {
        Titulo = titulo;
        Ordem = ordem;
        DuracaoEp = duracao;
    }

    public int Ordem { get;  }
    public string Titulo { get;  }
    public int DuracaoEp { get;  }
    public string Resumo => $"Episodio {Ordem} - {Titulo} com {string.Join(", ", convidados)} tem a duração de {DuracaoEp} horas.  ";

    public void AdicionarCondidados(string convidado)
    {
        convidados.Add(convidado);
    }


}

Program.cs

Podcast podtech = new Podcast("Matheus", "PodTech");

Episodio epsisodio1 = new("O inicio", 1, 2);

epsisodio1.AdicionarCondidados("Rage");
epsisodio1.AdicionarCondidados("Lima");

podtech.AdicionarEpisodio(epsisodio1);
Console.WriteLine(epsisodio1.Resumo);
podtech.ExibirDetalhes();

1 resposta

Oi, Matheus! Como vai?

Chamou atenção a separação correta das classes Podcast e Episodio, mostrando um bom entendimento de responsabilidade de classes e do uso de List<T> para organizar os dados. Isso é necessário para trabalhar bem com Orientação a Objetos e evoluir o projeto com mais clareza.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!