1
resposta

[Projeto] Minha solução

namespace Teste4_Alura.ExercicioOO;

internal class EmprestimoAposentado : IEmprestimo
{
    public decimal ValorFinal { get; set; }
    public decimal Taxa { get; set; }
    public decimal ValorEmprestado { get; set; }

    public decimal CalcularValorFinal(decimal valor, int meses)
    {
        Taxa = 1.5m / 100;
        ValorEmprestado = valor;

        ValorFinal = ValorEmprestado + (valor * Taxa * meses);
        return ValorFinal;
    }
}
namespace Teste4_Alura.ExercicioOO;

internal class EmprestimoEmpresario : IEmprestimo
{
    public decimal ValorFinal { get; set; }
    public decimal Taxa { get; set; }
    public decimal ValorEmprestado { get; set; }

    public decimal CalcularValorFinal(decimal valor, int meses)
    {
        Taxa = 2.5m / 100;
        ValorEmprestado = valor;

        ValorFinal  = ValorEmprestado + (valor * Taxa * meses );
        return ValorFinal;
    }
}
namespace Teste4_Alura.ExercicioOO;

internal class EmprestimoEstudante : IEmprestimo
{
    public decimal ValorFinal { get; set; }
    public decimal Taxa { get; set; }
    public decimal ValorEmprestado { get; set; }

    public decimal CalcularValorFinal(decimal valor, int meses)
    {
        Taxa = 1m / 100;
        ValorEmprestado = valor;

        ValorFinal = ValorEmprestado + (valor * Taxa * meses);
        return ValorFinal;
    }
}
namespace Teste4_Alura.ExercicioOO
{
    internal interface IEmprestimo
    {
        decimal CalcularValorFinal(decimal valor, int meses);
        
    }
}
#region Calculo de juros para diferentes perfis de emprestimo

List<IEmprestimo> perfis = new List<IEmprestimo>
{
    new EmprestimoEstudante(),
    new EmprestimoEmpresario(),
    new EmprestimoAposentado()

};

foreach (var perfil in perfis)
{
    decimal total = perfil.CalcularValorFinal(1000m, 12);
    Console.WriteLine($"{perfil.GetType().Name}: total: R${total: 0.00}");
}

#endregion
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de interfaces para definir contratos de cálculo, utilizou muito bem o polimorfismo para aplicar diferentes taxas de juros e ainda compreendeu a importância da abstração para organizar perfis distintos de empréstimo.

Uma sugestão para o futuro seria implementar testes automatizados para validar os cálculos de cada perfil e garantir maior confiabilidade do sistema.

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!