1
resposta

[Projeto] Faça como eu fiz: gerenciamento de funcionários

class Funcionario
{
    public Funcionario(string nome, string cargo)
    {
        Nome = nome;
        Cargo = cargo;
    }

    public string Nome { get; private set; }
    public string Cargo { get; private set; }

    public void Promover(string novoCargo)
    {
        if( string.Equals(Cargo, novoCargo, StringComparison.InvariantCultureIgnoreCase))
        {
            Console.WriteLine($"Erro: O novo cargo deve ser diferente do cargo atual.");
            return;
        }

        Cargo = novoCargo;
        Console.WriteLine("Promoção realizada com sucesso!");
    }

    public void ExibirDadosFuncionario()
    {
        Console.WriteLine($"Funcionário: {Nome}");
        Console.WriteLine($"Cargo Atual: {Cargo}");
    }
    
}

Funcionario funcionario = new Funcionario("Carlos Pereira", "Assistente Administrativo");
funcionario.Promover("Assistente Administrativo"); // Tentativa inválida
funcionario.Promover("Analista de Projetos");       // Promoção válida
funcionario.ExibirDadosFuncionario();
1 resposta

Olá, Eduardo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o construtor para inicializar objetos com C#, utilizou muito bem a validação para evitar redundâncias e ainda compreendeu a importância do método para atualizar informações de forma controlada.

Uma dica interessante para o futuro é trabalhar com herança, permitindo criar diferentes tipos de funcionários a partir de uma classe base. Assim:

class Funcionario
{
    public string Nome { get; private set; }
    public string Cargo { get; private set; }

    public Funcionario(string nome, string cargo)
    {
        Nome = nome;
        Cargo = cargo;
    }
}

class Gerente : Funcionario
{
    public Gerente(string nome) : base(nome, "Gerente")
    {
    }
}

Isso faz com que seja possível especializar cargos e reaproveitar código de forma eficiente.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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