Polimorfismo em Java | Explicado

Polimorfismo em Java | Explicado
O polimorfismo está entre um dos quatro conceitos fundamentais de programação orientada a objetos que possibilita a execução de uma determinada tarefa de várias maneiras. E para fazer isso, o polimorfismo utiliza o conceito de sobrecarga de método e Método substituindo.

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:

  • O que é polimorfismo
  • Polimorfismo em Java
  • Como usar o polimorfismo em Java

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 Bird
public void BirdSound ()
Sistema.fora.println ("A Bird canta tee tee");


classe Crow estende o pássaro
public void BirdSound ()
Sistema.fora.println ("Crow Sound: Caw Caw Caw");


classe Duck estende o pássaro
public void BirdSound ()
Sistema.fora.println ("som de pato: charlatão");


classe pública PolymorphismExample
public static void main (string [] args)
Bird Brd = New Bird ();
Pássaro CRW = novo corvo ();
Bird duk = novo pato ();
Brd.Birdsound ();
CRW.Birdsound ();
Duk.Birdsound ();

O 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.