Introducción al polimorfismo en Java
El polimorfismo se define como un concepto en el que, junto con la ayuda de una acción, se podrían realizar numerosas formas. La palabra se originó a partir de las 2 palabras griegas, que son poli y morfos. Aquí, como sabrán, "poli" implica muchas, así como "morfos", implica muchas formas. Por lo tanto, la palabra polimorfismo implicaría muchas formas. Ahora comprendamos el polimorfismo en Java en detalle.
¿Cómo funciona el polimorfismo en Java?
El polimorfismo es una característica de programación de OOO. Cada vez que lo usamos, una clase tiene la capacidad de exhibir muchas funcionalidades incluso si exhiben la interfaz común. Por lo tanto, podemos suponer que la palabra larga en realidad dice un concepto muy simple.
Lo que vale la pena señalar sobre el polimorfismo es que todo el código de trabajo que existe en numerosas clases realmente no necesita comprender la clase que se está utilizando en la misma forma de uso.
Asumamos el ejemplo real del polimorfismo. Asumamos el botón. Todos ustedes saben que si aplicamos un poco de presión, podrán presionar el botón; sin embargo, no sabremos el resultado de presionar el botón y el propósito del uso. Entonces, señale que aquí cuidar es que, de cualquier manera, el resultado no afectará el procedimiento que se está utilizando.
Entonces, el objetivo básico del polimorfismo es hacer objetos que sean intercambiables dependiendo de las necesidades.
Tipos de polimorfismo en Java
Los dos tipos de polimorfismo son el polimorfismo en tiempo de compilación y el polimorfismo en tiempo de ejecución. El polimorfismo en tiempo de compilación se realiza mediante la sobrecarga del método y el polimorfismo de tiempo de ejecución mediante la anulación del método.
El polimorfismo de tiempo de ejecución, también denominado Despacho de método dinámico, es un proceso en el que la llamada a un método anulado se resuelve en tiempo de ejecución a pesar del tiempo de compilación. Aquí, el método anulado se llama a través de una variable de referencia de una clase primaria. Además, los miembros de datos no pueden lograr el polimorfismo de tiempo de ejecución.
Importancia del polimorfismo en Java
Si descartamos el polimorfismo dinámico y el polimorfismo estático, en la programación existen algunas de las características de programación de Java que exhibe un polimorfismo distinto de estos dos tipos importantes.
Son estos: coerción, sobrecarga del operador y parámetros polimórficos.
Coerción
Tratemos de obtener el significado de coerción a través de este ejemplo. Suponga que existe el valor de la cadena como valor colateral: suponga el segundo número que tiene el valor 2. Ahora, ¿qué ocurriría cuando concatene este valor de cadena junto con este número? El resultado que obtenemos de esta concatenación sería "covalor: 2". Esto se conoce como coerción. Esta es una conversión de tipo implícito que se ejecuta en orden de prevención de errores.
Sobrecarga del operador
Al comenzar con el concepto de sobrecarga del operador, permítanme echar un vistazo a un escenario. Suponga que existe la cadena que tiene el valor "Operate" y 2da que tiene el valor "Overload". Luego, utilizaríamos el símbolo más (+) de la misma manera que la suma de 2 números. Esto (+) sería concatenante. Si consideramos dos enteros, entonces se sumarán estos dos números. Cada vez que un símbolo u operador tiene la capacidad de alterar la interpretación considerando el procedimiento que se ha utilizado, el tipo de polimorfismo que se realiza se conoce como sobrecarga del operador.
Parámetros polimórficos
Significa permitir el acceso a cualquier objeto en cualquiera de las siguientes formas que se indican a continuación:
- Uso de una variable de referencia que pertenece a cualquiera de las clases padre.
- Uso de una variable de referencia que pertenece a la clase donde existe.
Alcance del polimorfismo
Enlace significa la conexión de una llamada a un cuerpo de método. Existen dos tipos de encuadernación:
- La primera es la unión estática, lo que significa que siempre que se haya determinado el tipo de objeto durante el tiempo de compilación.
- El segundo es un enlace dinámico, lo que significa que siempre que se haya determinado el tipo de objeto durante el tiempo de ejecución.
La única razón de por qué se requiere el polimorfismo radica en que su concepto es enormemente necesario en la implementación de la herencia. Además, juega un papel muy vital al permitir que los objetos hereden numerosas estructuras al compartir la interfaz. El polimorfismo se ha mencionado claramente como el único que está mapeado para muchos.
Ejemplos de polimorfismo en Java
A continuación se muestran los diferentes ejemplos de polimorfismo en Java:
Ejemplo # 1 - Programa Java para mostrar la sobrecarga de métodos
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));
)
)
Salida:
Ejemplo # 2 - Programa Java para mostrar la sobrecarga del 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");
)
)
Salida:
Ejemplo # 3 - Programa Java para sobrecarga de métodos
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));
)
)
Salida:
Conclusión
La única razón de por qué se requiere el polimorfismo radica en que su concepto es enormemente necesario en la implementación de la herencia. Además, juega un papel muy vital al permitir que los objetos hereden numerosas estructuras al compartir la interfaz. El polimorfismo se ha mencionado claramente como el único que está mapeado para muchos.
Artículos recomendados
Esta es una guía para el polimorfismo en Java. Aquí discutimos el trabajo del polimorfismo en Java con sus tipos y su importancia junto con diferentes ejemplos e implementación de código. También puede consultar los siguientes artículos para obtener más información:
- Polimorfismo en C #
- JTextField en Java
- Sobrecarga y anulación en C ++
- ¿Qué es la herencia de Java?
- Sobrecarga en Java
- Sobrecarga de Python
- Guía completa de herencia en Python
- Tipos y errores de manejo en JavaScript
- Ventajas de la unión estática y la unión dinámica