Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Faça como eu fiz: controle de tarefas

Classe Program:

Projeto projeto = new("Sistema de Inventário");
projeto.AdicionarTarefa("Criar tela de login");
projeto.AdicionarTarefa("Implementar banco de dados");
projeto.ExibirTarefas();

Classe Projeto:

namespace Encapsulamento;

internal class Projeto(string nome)
{
    private List<string> tarefas = new();

    public string Nome { get; set; } = nome;
    public int QuantidadeTarefas => tarefas.Count;


    public void AdicionarTarefa(string tarefa)
    {
        tarefas.Add(tarefa);
    }

    public void ExibirTarefas()
    {
        Console.WriteLine($"Projeto: {Nome}");

        Console.WriteLine("Tarefas:");
        foreach(string tarefa in tarefas) { 
            Console.WriteLine($"- {tarefa}"); 
        }
        Console.WriteLine($"Total: {QuantidadeTarefas} tarefas");
    }
}
1 resposta
solução!

Oi, Fabiano! Como vai?

Gostei da forma como você aplicou o encapsulamento na classe Projeto, mantendo a lista de tarefas como privada e utilizando a propriedade QuantidadeTarefas para retornar a quantidade de itens cadastrados. Também ficou muito organizada a separação das responsabilidades entre os métodos AdicionarTarefa() e ExibirTarefas(), o que contribui para uma estrutura clara e fácil de manter.

Uma dica interessante para o futuro é utilizar um método para remover tarefas quando necessário. Veja este exemplo:


public void RemoverTarefa(string tarefa)
{
    tarefas.Remove(tarefa);
}

Esse código procura uma tarefa na lista e a remove, ajudando a tornar o controle do projeto ainda mais completo.

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