Introdução ao polimorfismo em Java

Polimorfismo é definido como um conceito em que, juntamente com a ajuda de uma ação, de várias maneiras, pode ser realizado. A palavra foi originada das 2 palavras gregas, que são poli e morfológicas. Aqui, como você deve saber, "poli" implica muitas, assim como "morphs", implica muitas formas. Portanto, a palavra polimorfismo implicaria muitas formas. Vamos agora entender o polimorfismo em java em detalhes.

Como o polimorfismo funciona em Java?

Polimorfismo é uma característica de programação OOO. Sempre que a usamos, uma classe tem a capacidade de exibir muitas funcionalidades, mesmo que exibam a interface comum. Portanto, podemos assumir que a palavra longa realmente conta um conceito muito simples.

O que vale a pena notar sobre o polimorfismo é que todo o código de trabalho que existe em várias classes não precisa realmente entender a classe que está sendo usada por ela da mesma maneira que o uso é a mesma.

Vamos assumir o exemplo do polimorfismo no mundo real. Vamos assumir o botão. Todos vocês sabem que, se aplicarmos um pouco de pressão, você poderá pressionar o botão, mas não saberemos o resultado de pressionar o botão e o objetivo do uso. Portanto, aponte que aqui para cuidar é que, de qualquer forma, o resultado não afetará o procedimento que está sendo usado.

Portanto, o objetivo básico do polimorfismo é criar objetos intercambiáveis, dependendo das necessidades.

Tipos de polimorfismo em Java

Os dois tipos de polimorfismo são polimorfismo em tempo de compilação e polimorfismo em tempo de execução. O polimorfismo em tempo de compilação é realizado por sobrecarga de método e o polimorfismo de tempo de execução por substituição de método.

O polimorfismo de tempo de execução, também chamado de Despacho de método dinâmico, é um processo em que a chamada para um método substituído é resolvida no tempo de execução, apesar do tempo de compilação. Aqui, o método substituído é chamado por meio de uma variável de referência de uma classe pai. Além disso, o polimorfismo de tempo de execução não pode ser alcançado pelos membros dos dados.

Importância do polimorfismo em Java

Se descartarmos o polimorfismo dinâmico e o polimorfismo estático, na programação existem algumas das características de programação do Java que exibem polimorfismos diferentes desses dois tipos importantes.

São eles - Coerção, Sobrecarga do Operador e Parâmetros Polimórficos.

Coerção

Vamos tentar obter o significado de coerção através deste exemplo. Suponha que exista o valor da sequência a ser co-valor: Assuma o segundo número que obteve o valor 2. Agora, o que aconteceria quando você concatinasse esse valor da sequência junto com esse número? O resultado que obtemos dessa concatenação seria "co-valor: 2". Isso é conhecido como coerção. Essa é uma conversão do tipo implícito, executada em ordem de prevenção de erros.

Sobrecarga do operador

Quando começamos com o conceito de sobrecarga do operador, deixe-me dar uma olhada em um cenário. Suponha que exista a string que possui o valor "Operate" e a segunda que possui o valor como "Overload". Em seguida, utilizaríamos o símbolo de adição (+) da mesma maneira que a adição de 2 números. Isso (+) seria concatenador. Se considerarmos dois números inteiros, a adição desses dois números seria retornada. Sempre que um símbolo ou operador tem a capacidade de alterar a interpretação, considerando o procedimento usado, o tipo de polimorfismo realizado é conhecido como Sobrecarga do operador.

Parâmetros polimórficos

Significa permitir o acesso a qualquer objeto de qualquer uma das seguintes maneiras, conforme abaixo:

  1. Uso de uma variável de referência que pertence à classe pai.
  2. Uso de uma variável de referência que pertence à classe em que existe.

Âmbito do polimorfismo

Vinculação significa a conexão de uma chamada de método a um corpo de método. Existem dois tipos de ligação:

  • é ligação estática, o que significa que sempre que o tipo de objeto foi determinado durante o tempo de compilação.
  • O segundo é a ligação dinâmica, que significa sempre que o tipo de objeto é determinado durante o tempo de execução.

A única razão pela qual o polimorfismo é necessário está no fato de o conceito ser extremamente necessário na implementação da herança. Além disso, ele desempenha um papel muito importante, permitindo que os objetos herdem inúmeras estruturas no compartilhamento da interface. O polimorfismo foi mencionado claramente como o único mapeado para muitos.

Exemplos de polimorfismo em Java

Abaixo estão os diferentes exemplos de polimorfismo em Java:

Exemplo # 1 - Programa Java para mostrar a sobrecarga de método

Código:

class methodOverload (
static int multi(int x, int y)
(
return x * y;
)
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
(
return x * y;
)
)
class Main (
public static void main(String() args)
(
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
)
)

Resultado:

Exemplo # 2 - Programa Java para mostrar a sobrecarga do operador

Código:

class operator (
void oper(String s, String s2)
(
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
)
void oper(int a, int b)
(
int c = a + b;
System.out.println("Sum is : " + c);
)
)
class Main (
public static void main(String() args)
(
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
)
)

Resultado:

Exemplo # 3 - Programa Java para Sobrecarga de Método

Código:

class Multi (
// Method with 2 parameter
static int Multi(int a, int b)
(
return a * b;
)
static int Multi(int a, int b, int c)
(
return a * b * c;
)
)
class Main (
public static void main(String() args)
(
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
)
)

Resultado:

Conclusão

A única razão pela qual o polimorfismo é necessário reside no fato de seu conceito ser extremamente necessário na implementação da herança. Além disso, ele desempenha um papel muito importante, permitindo que os objetos herdem inúmeras estruturas no compartilhamento da interface. O polimorfismo foi mencionado claramente como o único mapeado para muitos.

Artigos recomendados

Este é um guia para o polimorfismo em Java. Aqui discutimos o trabalho do polimorfismo em Java com seus tipos e importância, além de diferentes exemplos e implementação de código. Você também pode consultar os seguintes artigos para saber mais -

  1. Polimorfismo em C #
  2. JTextField em Java
  3. Sobrecarga e substituição em C ++
  4. O que é herança em Java?
  5. Sobrecarga em Java
  6. Sobrecarga de Python
  7. Guia completo de herança em Python
  8. Tipos e manipulação de erros em JavaScript
  9. Vantagens da ligação estática e ligação dinâmica