🎭 Polimorfismo em Java: Deixe Seu Código Mais Flexível

 Se você já ouviu falar em orientação a objetos, provavelmente encontrou a palavra polimorfismo.

O nome parece complicado, mas a ideia é simples: permitir que um mesmo método tenha múltiplas formas de se comportar.

No mundo real, pense na ação “falar”:

  • Uma criança fala de um jeito,

  • Um adulto de outro,

  • Um estrangeiro com sotaque diferente.

Ainda assim, todos estão “falando”.
No Java, o polimorfismo funciona da mesma forma.


📌 O que é Polimorfismo?

Polimorfismo é a capacidade de uma classe assumir várias formas através de herança e sobrescrita de métodos.
Isso traz mais flexibilidade e reuso ao código.


🔍 Tipos de Polimorfismo

Sobrecarga de métodos (compile-time)
Permite que uma classe tenha vários métodos com o mesmo nome, mas com parâmetros diferentes.

class Calculadora { int somar(int a, int b) { return a + b; } double somar(double a, double b) { return a + b; } }

✔️ Aqui, somar() pode lidar tanto com inteiros quanto com decimais.


Sobrescrita de métodos (runtime)
Permite que uma subclasse forneça sua própria implementação para um método já existente na classe-pai.

class Animal { void emitirSom() { System.out.println("Som genérico"); } } class Cachorro extends Animal { @Override void emitirSom() { System.out.println("Latido"); } }

✔️ O mesmo método emitirSom() se adapta ao tipo de objeto criado.


💬 Dica Pessoal

Quando comecei a aprender Java, achava que polimorfismo era “mágica” desnecessária. Mas logo percebi que ele é essencial para criar códigos realmente orientados a objetos, permitindo trabalhar com interfaces, herança e coleções de forma elegante.

Hoje, não imagino escrever classes sem pensar em polimorfismo.


🛠️ Exercício Prático

Crie uma classe Funcionario com um método calcularBonus().
Depois, crie subclasses como Gerente, Programador e Estagiario, cada uma sobrescrevendo o método de forma diferente.
Instancie todos em uma lista e percorra chamando calcularBonus().
Você vai ver a mágica acontecendo!


📚 Conclusão

O polimorfismo é uma das bases da orientação a objetos.
Ele permite que um mesmo método tenha comportamentos diferentes, tornando seu código mais flexível, limpo e poderoso.

Se esse conteúdo fez sentido para você, compartilhe com outros iniciantes no mundo Java. E se surgir alguma dúvida, comenta que eu respondo! 🚀

Comentários

Postagens mais visitadas deste blog

🌀 Loop for-each em Java: Simplificando a Iteração

👷‍♂️ Código em Construção: Começando do Começo

🔄 Sobrecarga de Métodos em Java: Como Funciona na Prática