Este artículo presenta una visión general exhaustiva de los tipos de polimorfismo como se enumera a continuación:
Entonces empecemos!
¿Qué es el polimorfismo en Java?
La palabra polimorfismo es una combinación de dos palabras griegas escuela politécnica significa muchos y morfos significa formularios, por lo tanto, combinadamente la palabra polimorfismo medio Muchas/formas múltiples. El polimorfismo nos permite realizar una tarea específica de varias maneras
Ejemplo
Consideremos los ejemplos en el mundo real en el mundo real para comprender el concepto de polimorfismo:
Sonidos de animales: Ruge de león, ladridos de perros, vecinos de caballos, etc.
Ahora comprendamos el concepto anterior en términos de programación de Java, en este ejemplo, el Animales es una clase, y "Sounds ()" es su método:
Aquí Animales es una clase general que no puede restringirse con un solo sonido como un rugido, o corteza, etc. Entonces, una clase tendrá una implementación genérica que las otras clases pueden extender.
Además, León, Perro, y Caballo (subclases) puede extender las propiedades de la clase principal Animal. Las clases infantiles heredarán la función de su clase principal y pueden anular la implementación de esa función.
Entonces, el polimorfismo en Java le permite utilizar el mismo método para realizar diversas funcionalidades. En Java, el polimorfismo se puede lograr mediante tiempo de compilación o tiempo de ejecución.
Polimorfismo estático/en tiempo de compilación en Java
En el polimorfismo en tiempo de compilación, los objetos de los CALS están limitados con los métodos en tiempo de compilación. El polimorfismo en tiempo de compilación es manejado por el compilador y respalda el concepto de sobrecarga de métodos.
La sobrecarga del método en el polimorfismo de tiempo de compilación permite que una clase cree múltiples métodos con el mismo nombre pero diferentes implementaciones en términos de parámetros. Y existen algunas reglas para estos parámetros como se enumeran a continuación:
Podemos crear múltiples métodos con el mismo nombre pero con una secuencia/orden de parámetros diferente.
Podemos crear más de un método con el mismo nombre pero con diferentes tipos de datos de parámetros:
Podemos crear múltiples métodos con el mismo nombre pero con un número diferente de parámetros.
Consideremos un ejemplo para la profunda comprensión del polimorfismo de tiempo de compilación:
Ejemplo
En este ejemplo creamos dos clases:
Multiplicación.Java
El Multiplicación La clase crea tres métodos con el mismo nombre "producto()", El primer método toma dos valores enteros, el segundo toma dos valores dobles y el tercero toma tres valores enteros:
paquete principal;La captura de pantalla del código anterior será así:
Principal.Java
Dentro de Principal clase, creamos el objeto de la clase de multiplicación y llamamos los tres métodos del Multiplicación clase:
paquete principal;El código completo del Principal La clase se muestra en la siguiente figura:
La salida irá así:
De la salida anterior observamos que:
Cuando pasamos los dos En t valores entonces el producto Método que tiene dos En t Los parámetros se ejecutan.
Cuando pasamos los tres En t valores entonces el producto Método que tiene tres En t Los parámetros se ejecutan.
Del mismo modo, cuando pasamos los dos doble valores entonces el producto Método que tiene dos doble Los parámetros se ejecutan.
Polimorfismo dinámico/de tiempo de ejecución en Java
En tiempo de ejecución polimorfismo, los objetos están limitados con los métodos en tiempo de ejecución (enlace dinámico). El polimorfismo dinámico o de tiempo de ejecución respalda el concepto de Método primordial.
Echemos un vistazo al ejemplo otorgado por la profunda comprensión del polimorfismo de tiempo de ejecución.
Ejemplo
El siguiente fragmento de código crea tres clases: Persona, empleado, y Departamento, el Persona La clase es una clase padre, la Empleado la clase se extiende Persona clase y Departamento La clase entra Empleado clase.
persona de claseLas clases de los niños extienden el imprimir() Método de sus clases de padres y también tienen su propia implementación de ese método print (). Y dentro del método principal, creamos el objeto de cada clase y llamamos al imprimir() Método con el objeto de clase respectivo. El código y la salida completos se proporcionan en la siguiente captura de pantalla:
La salida anterior verifica que cuando llamamos las funciones de impresión con cada objeto de clase infantil, anulan la implementación de la función de impresión de clase principal ().
Conclusión
El polimorfismo nos permite crear múltiples métodos con el mismo nombre pero con diferentes implementaciones en las clases de padres e hijos. Se puede lograr en tiempo de compilación, lo que respalda el concepto de sobrecarga de métodos o en tiempo de ejecución que respalda el concepto de anulación. Este artículo presenta una descripción detallada del tiempo de ejecución y el polimorfismo en tiempo de compilación y explica qué es el polimorfismo, sus tipos y reglas para implementar cada tipo.