Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resposta - Encapsulando reajuste de salário

Classe Employee:

namespace exercise80.Models;

internal class Employee
{
    public string Name { get; }
    public double Salary { get; private set; }

    public Employee(string name, double salary)
    {
        Name = name;
        Salary = salary;
    }

    public void AdjustSalary(double newSalary)
    {
        if (newSalary < Salary)
        {
            Console.WriteLine("Error: The new salary must be higher than the current one.");
        }
        else
        {
            Salary = newSalary;
        }
    }

    public override string ToString()
    {
        return $"Employee: {Name} - Current salary: ${Salary:F2}";
    }
}

Instância:

using exercise80.Models;

Employee employee = new Employee("Carlos Eduardo", 2000);
Console.WriteLine(employee);

employee.AdjustSalary(1500);
employee.AdjustSalary(5000);

Console.WriteLine(employee);
2 respostas
solução!

Oi, Carlos! Como vai?

Com base no que você explicou, chamou atenção o cuidado com o encapsulamento, deixando o Salary com set privado e centralizando a regra de negócio no método AdjustSalary, o que deixa a classe mais segura e fácil de manter.

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

Obrigado, Armano.