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