1
resposta

[Projeto] Classes para podcasts

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();

:)

1 resposta

Pedro, bom dia!

Que show camarada, parabéns pela implementação. Continue praticando e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software