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