interface IEmprestimo
{
decimal CalcularValorFinal(decimal valor, int meses);
}
class EmprestimoEstudante : IEmprestimo
{
public decimal CalcularValorFinal(decimal valor, int meses)
{
decimal taxa = 0.01m;
return valor + (valor * taxa * meses);
}
}
class EmprestimoEmpresario : IEmprestimo
{
public decimal CalcularValorFinal(decimal valor, int meses)
{
decimal taxa = 0.025m;
return valor + (valor * taxa * meses);
}
}
class EmprestimoAposentado : IEmprestimo
{
public decimal CalcularValorFinal(decimal valor, int meses)
{
decimal taxa = 0.015m;
return valor + (valor * taxa * meses);
}
}
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}: R${total:0.00}");
}