1
resposta

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

Program.cs

Funcionario funcionario = new Funcionario("Carlos Pereira", "Assistente Administrativo");
funcionario.Promover("Assistente Administrativo");
funcionario.Promover("Analista de Projetos");

Funcionario.cs

class Funcionario
{
    public string Nome;
    public string Cargo;

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

    public void Promover(string novoCargo)
    {
        if (novoCargo == Cargo)
        {
            Console.WriteLine($"Esse já é o atual cargo da funcionária {Nome}");
        }
        else
        {
            Cargo = novoCargo;
            Console.WriteLine($"{Nome} foi promovido para {Cargo}!");
        }
    }

    public override string ToString()
    {
        return $"{Nome} - {Cargo}";
    }

}
1 resposta

Oi, horizon! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu código ficou bem claro e objetivo. A lógica da promoção está funcionando corretamente e o uso do ToString() facilita a visualização das informações do funcionário. Muito bom ver esse cuidado!

Uma dica interessante para o futuro é usar propriedades com get e set, o que dá mais controle ao acessar e alterar atributos. Veja este exemplo:


public class Funcionario
{
    public string Nome { get; set; }
    public string Cargo { get; set; }
 
    public Funcionario(string nome, string cargo)
    {
        Nome = nome;
        Cargo = cargo;
    }
 
    public void Promover(string novoCargo)
    {
        if (novoCargo != Cargo)
        {
            Cargo = novoCargo;
            Console.WriteLine("Promoção realizada com sucesso!");
        }
        else
        {
            Console.WriteLine("Erro: O novo cargo deve ser diferente do cargo atual.");
        }
    }
}

Esse tipo de encapsulamento ajuda a proteger os dados da classe e torna o código mais seguro.

Conteúdos relacionados
Alura

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