1
resposta

Encapsulando reajuste de salário

Funcionario.cs

public class Funcionario
{
    public string Nome { get; set; }
    private double salario;

    public Funcionario(string nome, double salarioInicial)
    {
        Nome = nome;
        salario = salarioInicial;
    }

    public void ReajustarSalario(double valor)
    {
        if (valor > salario)
        {
            salario = valor;
        } 
        else
        {
            Console.WriteLine($"Erro: O novo salário deve ser maior que o atual.");
        }
    }

    public double Salario
    {
        get { return salario; }
    }
}

Program.cs

Funcionario f = new Funcionario("Matheus Oliveira", 6000);
f.ReajustarSalario(3500);
f.ReajustarSalario(7350);

Console.WriteLine("Funcionário: " + f.Nome);
Console.WriteLine("Salário atual: R$ " + f.Salario.ToString("F2"));
1 resposta

Olá, Matheus, como vai?

O seu código seguiu corretamente a lógica de encapsulamento solicitada na atividade, garantindo que o campo de salário seja privado e apenas alterado através de um método que valida a regra de negócio. Você aplicou bem o uso de propriedades de leitura e a estrutura do construtor para inicializar os dados do funcionário. É muito positivo ver como você organizou a verificação dentro do método de reajuste para evitar que valores inválidos sejam atribuídos ao estado do objeto.

Parabéns por concluir o exercício e por compartilhar sua solução conosco. Continue praticando e postando seus progressos no fórum.

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