1
resposta

Faça como eu fiz: contador de objetos

Para resolver esse problema, precisamos criar uma propriedade para nome e uma propriedade estática para o ContadorDeObjetos. Essa propriedade receberá o aumento de 1 toda vez que um album for construído.

Album.cs

internal class Album {
    public string Nome {get;}
    public static int ContadorDeObjetos {get; set;}
    public Album(string nome) {
        Nome = nome;
        ContadorDeObjetos++;
    }
}

Program.cs

Album a1 = new Album("Barões da Pisadinha Ao Vivo");
Album a2 = new Album("Barões da Pisadinha feat. Anitta");
Album a3 = new Album("Barões da Pisadinha no Free Jazz Festival");

Console.WriteLine($"Total de objetos criados: {Album.ContadorDeObjetos}");
1 resposta

Olá, Diego, como vai?

Sua implementação reflete corretamente o uso de membros estáticos em C#. Ao incrementar a propriedade estática dentro do construtor, você garante que cada nova instância da classe seja contabilizada de forma global ao tipo, independentemente de qual objeto esteja sendo manipulado. O uso da propriedade autoinplementada para o nome também mantém o código limpo e funcional.

Parabéns pelo exercício e por compartilhar sua resolução com a comunidade. Continue com esse empenho nos estudos e saiba que o fórum está à disposição para qualquer dúvida.

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