1
resposta

[Projeto] Faça como eu fiz: gerenciamento de funcionarios

Resolução:

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

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

    public void Promover(string novoCargo)
    {
        if (Cargo != novoCargo)
        {
            Console.WriteLine($"\nO funcionário foi promovido de {Cargo} para {novoCargo}!\n");
            Nome = novoCargo;
        }
        else
        {
            Console.WriteLine("\nErro: O novo cargo deve ser diferente do cargo atual.");
        }
    }
}

program.cs


var f1 = new Funcionario("Lucas Gomes", "Assistente Administrativo");


Console.WriteLine("Funcionário: " + f1.Nome);
Console.WriteLine("Cargo Atual: " + f1.Cargo);

f1.Promover("Assistente Administrativo"); 
f1.Promover("Analista de Projetos");       

Console.WriteLine("----- Após promoção-----");
Console.WriteLine("Funcionário: " + f1.Nome);
Console.WriteLine("Cargo Atual: " + f1.Cargo);
1 resposta

Oi, Christopher! Como vai?

Agradeço por compartilhar suas reflexões e aprendizados com a comunidade Alura. Sua resolução ficou bem organizada, com a classe Funcionario, o construtor e o método Promover. Um ponto importante é que, dentro do método, ao promover o funcionário, a propriedade alterada deve ser Cargo, não Nome, pois o nome da pessoa continua o mesmo.

Dica: ajuste a linha Nome = novoCargo; para Cargo = novoCargo;, assim o novo cargo será salvo corretamente após a promoção. Ficaria assim: Cargo = novoCargo;. Continue praticando essa lógica de classes e métodos, ela ajuda bastante no uso de orientação a objetos com C#.

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