1
resposta

[Projeto] Faça como eu fiz: cálculo de juros para diferentes perfis de empréstimo

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}");
}
1 resposta

Oi, Eduardo! Como vai?

Agradeço por compartilhar

Gostei da sua implementação usando a interface IEmprestimo para representar diferentes perfis de empréstimo. A estrutura ficou bem alinhada com a proposta de polimorfismo, já que cada classe implementa sua própria regra de cálculo e o foreach consegue chamar CalcularValorFinal sem precisar saber qual tipo específico está sendo usado.

Sua solução mostra bem como o código fica mais flexível quando trabalhamos com interfaces. Dica: para ampliar o exercício, você pode criar novos perfis de empréstimo implementando a mesma interface e adicioná-los à lista perfis, sem precisar alterar o laço de repetição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!