1
resposta

Minha solução

namespace Teste4_Alura.ExercicioOO;

internal class Funcionario3
{
    public string Nome { get; set; }
    private double Salario { get; set; }
    public Funcionario3(string nome, double salario)
    {
        Nome = nome;
        Salario = salario;
    }

    public void ReajustSalario(double novoSalario)
    {
        if(novoSalario < Salario) { Console.WriteLine("Erro: O novo Salario deve ser maior que o atual"); }
        else 
        {
            Console.WriteLine($""""
            Funcionario: {Nome}
            Salario atual: {novoSalario:c2}
            """");
        }
    }
    
}
#region Desafio Encapsulamento reajuste de Salario
using Teste4_Alura.ExercicioOO;
Funcionario3 f = new Funcionario3("Fernanda Lima", 4000);
f.ReajustSalario(3500);
f.ReajustSalario(4200);


#endregion
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso do encapsulamento para proteger os atributos da classe, utilizou muito bem a validação condicional para garantir a consistência no reajuste salarial e ainda compreendeu a importância da orientação a objetos para estruturar regras de negócio de forma clara.

Uma dica interessante para o futuro é atualizar o valor do salário dentro do método de reajuste, garantindo que o atributo privado seja realmente modificado. Assim:

public void ReajustSalario(double novoSalario)
{
    if (novoSalario < Salario)
    {
        Console.WriteLine("Erro: O novo Salário deve ser maior que o atual");
    }
    else
    {
        Salario = novoSalario;
        Console.WriteLine($"""
        Funcionario: {Nome}
        Salário atual: {Salario:c2}
        """);
    }
}

Isso faz com que o salário do funcionário seja persistido corretamente após o reajuste.

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!