O polimorfismo é usado principalmente quando estamos trabalhando com herança, onde podemos ter classes diferentes com recursos comuns. Por exemplo, uma subclasse pode herdar os atributos da classe e as funções de membro da superclasse e, nesses casos, o polimorfismo torna possível executar uma única ação de várias maneiras.
Este artigo apresenta uma visão geral detalhada do polimorfismo e, a esse respeito, você entenderá os seguintes conceitos:
Vamos começar!
O que é polimorfismo
O próprio nome conta a história toda eu.e. poli significa muitos e morfismo/morph significa formas então polimorfismo significa múltiplas formas de qualquer coisa. Vamos considerar os exemplos listados abaixo do mundo real para entender o conceito de polimorfismo:
Humano: Um homem pode se comportar como estudante enquanto estuda, um cliente enquanto faz compras, um membro da família enquanto estiver em casa, etc.
Formas: Uma forma pode ser um círculo, triângulo, eclipse, e assim por diante.
Água: Pode ter muitas formas como líquido (água), sólido (gelo), gás (vapor).
Portanto, a partir dos exemplos acima, podemos concluir que qualquer coisa que possa possuir vários comportamentos em diferentes condições é referida como polimorfismo.
Polimorfismo em Java
Vamos relacionar os exemplos acima com Java para entender como o polimorfismo funciona em Java e, para fazer isso, considere o exemplo abaixo:
A classe genérica será declarada como a superclasse e outras classes podem estender os atributos e métodos da classe dessa classe.
Aqui neste exemplo, Formas é uma classe geral que não pode ser restrita com apenas uma forma como um círculo, triângulo, etc. Portanto, terá uma implementação genérica que pode ser herdada pelas subclasses.
Além disso, círculo, triângulo, e eclipse(as subclasses) podem estender as propriedades da superclasse Forma.
O polimorfismo permite que as subclasses herdem os métodos de sua superclasse e substituam os detalhes da implementação.
Como usar o polimorfismo em Java
Para a profunda compreensão do polimorfismo em Java, vamos considerar o exemplo abaixo:
Exemplo
O snippet de código abaixo do rumo cria três classes: uma é uma classe pai (Pássaro) e outros dois são classes infantis (Corvo e Pato):
Classe BirdO código completo com a respectiva saída é fornecida na captura de tela abaixo:
A saída verifica o funcionamento do polimorfismo i.e um método com diferentes implementações.
Conclusão
O polimorfismo nos permite criar vários métodos com o mesmo nome, mas implementações diferentes. Entra em ação quando temos várias classes relacionadas por meio de herança. Isso significa que o polimorfismo permite que as subclasses herdem os métodos de sua superclasse e substituam os detalhes da implementação. Este artigo explica o funcionamento do polimorfismo e dá uma melhor compreensão de como usar o polimorfismo em Java.