top of page

Desperte o Poder do Polimorfismo: Adeus aos "ifs" em C#!

  • Foto do escritor: Fernando Coregio
    Fernando Coregio
  • 5 de out. de 2023
  • 2 min de leitura

ree

Você já se viu afundado em um mar de declarações "if" em seu código C#? Se a resposta for sim, é hora de abraçar o poder do polimorfismo e dar adeus a esses "ifs" intermináveis. Neste artigo, vamos explorar como o polimorfismo, em conjunto com interfaces, pode tornar seu código mais limpo, flexível e eficiente.


O Problema dos "ifs"


Imagine que você está desenvolvendo um sistema de pagamento e precisa calcular o valor total com base no tipo de pagamento. Você poderia começar com uma série de declarações "if" para lidar com cada caso:

csharpCopy code
if (tipoDePagamento == "Cartão de Crédito")
{
    // Lógica para pagamento com cartão de crédito
}
else if (tipoDePagamento == "PayPal")
{
    // Lógica para pagamento com PayPal
}
else if (tipoDePagamento == "Transferência Bancária")
{
    // Lógica para pagamento por transferência bancária
}
// E assim por diante...

Essa abordagem pode se tornar rapidamente desorganizada e difícil de manter à medida que novos tipos de pagamento são adicionados.


O Poder do Polimorfismo


Aqui é onde o polimorfismo entra em ação. Em vez de usar condicionais "ifs", podemos criar uma interface que descreve o comportamento esperado para todos os tipos de pagamento:

csharpCopy code
interface IPagamento
{
    void ProcessarPagamento();
}

Agora, cada tipo de pagamento pode implementar essa interface de acordo com suas próprias regras:

csharpCopy code
class CartaoCredito : IPagamento
{
    public void ProcessarPagamento()
    {
        // Lógica para pagamento com cartão de crédito
    }
}

class PayPal : IPagamento
{
    public void ProcessarPagamento()
    {
        // Lógica para pagamento com PayPal
    }
}

class TransferenciaBancaria : IPagamento
{
    public void ProcessarPagamento()
    {
        // Lógica para pagamento por transferência bancária
    }
}

Agora, ao processar um pagamento, você pode simplesmente chamar o método ProcessarPagamento() na instância correta, sem a necessidade de "ifs":

csharpCopy code
IPagamento pagamento = ObterMetodoDePagamento(); // Suponha que você obtenha o método de pagamento de alguma forma.
pagamento.ProcessarPagamento();

Benefícios do Polimorfismo com Interfaces

  • Código mais limpo e legível.

  • Facilidade de adicionar novos tipos de pagamento sem afetar o código existente.

  • Manutenção simplificada.

  • Flexibilidade para trocar implementações de pagamento facilmente.

Em resumo, o polimorfismo com interfaces é uma ferramenta poderosa para eliminar "ifs" desnecessários e tornar seu código mais robusto e escalável. Comece a explorar o mundo do polimorfismo e leve seus projetos C# para o próximo nível!

Espero que este artigo tenha sido útil para você. Se tiver alguma dúvida ou comentário, não hesite em compartilhá-los abaixo. E lembre-se, o polimorfismo é seu amigo quando se trata de escrever código limpo e eficiente em C#! 🚀

 
 
 

Comentarios


Fernando R. Coregio. Criado orgulhosamente com Wix.com

bottom of page