1
resposta

Minha solução

namespace PraticandoEncapsulamento.Classes;

internal class Funcionario
{
    //Atributos
    public string Nome { get; }
    public decimal Salario { get; private set; }


    //Construtor
    public Funcionario(string nome, decimal salario)
    {
        Nome = nome;
        Salario = salario;
    }

    //Método
    public decimal ReajustarSalario(decimal novoValor)
    {
        if (novoValor > Salario)
        {
            Salario = novoValor;
            Console.WriteLine($"Funcionário: {Nome}\nSalário atual: R$ {Salario:F2}");
            return Salario;
        }
        else
        {
            Console.WriteLine("Erro: O novo salário deve ser maior que o atual.");
            return Salario;
        }
    }
}
using PraticandoEncapsulamento.Classes;

Funcionario f = new Funcionario("Fernanda Lima", 4000);
f.ReajustarSalario(3500); // Inválido
f.ReajustarSalario(4200); // Válido

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Cristin! Como vai?

Gostei muito de como você aplicou o conceito de encapsulamento com o uso do private set na propriedade Salario. Isso mostra que você entendeu como proteger o estado interno da classe e controlar as alterações apenas pelos métodos definidos.

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