1
resposta

[Projeto] Desafio: hora da prática

namespace Alura.Filmes;

class Artista
{
    public string Nome { get; set; }
    public DateTime DataNascimento {get; set; }

    public int Idade => DateTime.Now.Year - DataNascimento.Year;

    public List<Filme> filmes = new();

    public Artista(string nome, DateTime dataNascimento)
    {
        Nome = nome;
        DataNascimento = dataNascimento;
    }

    public void AdicionarFilme(Filme filme)
    {
        filmes.Add(filme);
    }

    public void exibirFilmes()
    {
        foreach (var item in filmes)
        {
            System.Console.WriteLine(item.Titulo);
        }
    }
}


using Alura.Filmes;

Artista a = new("Eduardo", new DateTime(1994, 11, 10));
Artista b = new("Eduardo 2", new DateTime(1994, 11, 10));
Artista c = new("Eduardo 3", new DateTime(1994, 11, 10));

Filme filme = new("New Filme", 100, new List<Artista>() {a, b, c });

a.exibirFilmes();
1 resposta

Oii Eduardo, tudo bem?

Obrigado por compartilhar sua solução no fórum! O código está bem estruturado e a propriedade calculada Idade com => foi uma escolha elegante.

Tenho apenas uma observação sobre o último ponto do desafio — a consistência entre Artista e Filme. O enunciado pede que, ao adicionar um artista a um filme, o filme também seja adicionado automaticamente à lista do artista (e vice-versa). No seu código, a lista de artistas é passada direto no construtor de Filme, então esse vínculo automático pode não estar acontecendo nos dois lados.

Uma forma de garantir isso é, dentro do método AdicionarFilme (ou no construtor de Filme), verificar se o filme já está na lista do artista antes de adicioná-lo, algo assim:

public void AdicionarFilme(Filme filme)
{
    if (!filmes.Contains(filme))
        filmes.Add(filme);
}

E na classe Filme, ao receber o elenco, chamar artista.AdicionarFilme(this) para cada artista — garantindo a consistência nos dois lados.

Vale explorar essa direção para completar o desafio conforme proposto!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade