Program.cs
using Fintech.Modelos;
List<IEmprestimo> perfis = new List<IEmprestimo> {
new EmprestimoEstudante(),
new EmprestimoEmpresario(),
new EmprestimoAposentado()
};
Console.Clear();
foreach (var perfil in perfis) {
decimal total = perfil.CalcularValorFinal(1000m, 4);
Console.WriteLine($"{perfil.GetType().Name}: R${total:0.00}");
}
IEmprestimo.cs
namespace Fintech.Modelos;
interface IEmprestimo {
public decimal CalcularValorFinal(decimal valor, int messes);
}
EmprestimoEstudante.cs
namespace Fintech.Modelos;
class EmprestimoEstudante : IEmprestimo {
private decimal taxa = 1;
private decimal valorFinal;
public decimal CalcularValorFinal(decimal valor, int messes) {
valorFinal = valor + (valor * taxa * messes) / 100;
return valorFinal;
}
}
EmprestimoEmpresario.cs
namespace Fintech.Modelos;
class EmprestimoEmpresario : IEmprestimo {
private decimal taxa = 25;
private decimal valorFinal;
public decimal CalcularValorFinal(decimal valor, int messes) {
valorFinal = valor + (valor * taxa * messes) / 1000;
return valorFinal;
}
}
EmprestimoAposentado.cs
namespace Fintech.Modelos;
class EmprestimoAposentado : IEmprestimo {
private decimal taxa = 15;
private decimal valorFinal;
public decimal CalcularValorFinal(decimal valor, int messes) {
valorFinal = valor + (valor * taxa * messes) / 1000;
return valorFinal;
}
}