1
resposta

Adicionei Gênero no álbum e na musíca

class Musica
{
    public string Nome       { get; set; }
    public string Artista    { get; set; }
    public int    Duracao    { get; set; }
    public bool   Disponivel { get; set; }
    public string DescricaoResumida => 
        $"A musíca {Nome} pertence à banda {Artista}\n";
    public Genero? Genero { get; set; }

    public void nomes()
    {
        Console.WriteLine($"Nome: {Artista}\nMusíca {Nome}\n");
    }

    public void FichaTecnica()
    {
        Console.WriteLine($"Artista: {Artista}");
        Console.WriteLine($"Musíca: {Nome}");
        Console.WriteLine($"Duração: {Duracao}s");
        Console.WriteLine($"Genero: {Genero?.Nome}");
        if (Disponivel)
        {
            Console.WriteLine("Disponível");
        }
        else
        {
            Console.WriteLine("Adiquira o plano Plus+");
        }
        Console.WriteLine($"\n");
    }
}


class Album
{
    List<Musica>   musicas = new List<Musica>();
    public string  Nome      { get; set; }
    public int     Duracao => musicas.Sum(m => m.Duracao);
    public Genero? Genero   { get; set; }

    public void AdicionarMusica(Musica musica)
    {
        musicas.Add(musica);
    }

    public void ExibirMusicasDoAlbum()
    {
        Console.WriteLine($"Musícas do album: {Nome}");
        foreach(var musica in musicas)
        {
            Console.WriteLine($"\t{musica.Nome}");
        }
        Console.WriteLine($"\tO album tem uma duração total de {Duracao}s");
        Console.WriteLine($"\tGenero: {Genero?.Nome}");
    }
}
    
    
    //Program
    Album albumForro = new Album();
albumForro.Nome = "DeForró";

Musica musica = new Musica();
musica.Nome = "camarote";
musica.Artista = "wesley safadão";
musica.Duracao = 300;
musica.Disponivel = true;
musica.Genero = new Genero();
musica.Genero.Nome = "Forró";
musica.FichaTecnica();

albumForro.AdicionarMusica(musica);

Musica musica2 = new Musica();
musica2.Nome = "toque do celular";
musica2.Artista = "xand avião";
musica2.Duracao = 200;
musica2.Disponivel = false;
musica2.FichaTecnica();

albumForro.AdicionarMusica(musica2);

Album albumForro1 = albumForro;

albumForro1.Genero = new Genero { Nome = "Forró" };
Console.WriteLine("\n");
albumForro.ExibirMusicasDoAlbum();
1 resposta

Olá, Cauan! Tudo bem?

Ficou excelente a sua implementação!

Você foi além do desafio e aplicou o relacionamento de Gênero não só na Musica, mas também na classe Album. Isso faz todo o sentido, já que um álbum geralmente pertence a um gênero específico.

Quero destacar um ponto muito positivo no seu código: o uso de tipos anuláveis (Genero?) e do operador de navegação segura (?.Nome). Essa é uma prática profissional que evita que o programa quebre (o famoso NullReferenceException) caso uma música ou álbum ainda não tenha um gênero definido. Muito bem pensado!

Continue explorando e personalizando seu projeto!

Bons estudos!

Sucesso

Imagem da comunidade