Curso de Java. ¿Que és el Polimorfismo?.

Un buen ejemplo de Polimorfismo lo econtramos en objetos contenedores de cualquier liquido, por ejemplo una botella, un vaso, etc. Según el objeto donde esté contenido, la forma del agua cambiará o se adaptará al recipiente contenedor.  En Java pasa algo parecido, el valor retornado de un método varia según el objeto que le invoque. Esto se llama selección en tiempo de ejecución de métodos y es una manifestación de Polimorfismo en Java.

La mejor forma de entender el concepto de polimorfismo en Java es con ejemplos prácticos. Por ejemplo si creamos una clase abstracta con un atributo, un método normal y otro abstracto:

Y dos clases o subclases que hereden de esta clase abstracta. Esta es la primera:

Y esta la segunda:

Si creamos objetos de ambas clases y hacemos la llamada a distintos métodos desde la clase principal que contiene el método main:

Nos da el siguiente resultado en consola:

Ejemplo de polimorfismo. Salida en consola de programa en Java utilizando objetos de subclases de Clases abstractas

Como podemos ver en las llamadas al método calcula() se muestra el resultado que devuelve el método implementado en la clase abstracta, sin embargo en las llamadas al método calcula2() se devuelve el resultado del método implementado en la clase del objeto que le invoca.

Variables de Clase Abstractas y Polimorfismo.

Ya dijimos en la página donde hablamos de Clases Abstractas e Interfaces, que no podemos crear objetos de ninguno de los dos, pero si podemos crear variables de Clase y asignarlas referencias a objetos de Clases que heredan o implementan dichas Clases Abstractas o Interfaces. Veamos un ejemplo de ello, para ello tan solo mostraremos los cambios en la clase principal (método main) y la salida en consola, ya que el resto de clases son iguales:

Y en consola tenemos la siguiente salida:

Ejemplo de polimorfismo. Salida en consola de programa en Java utilizando variables de Clases abstractas

Esta forma de proceder usando variables de Clase y asignarlas después distintos objetos, simplifica el código. Empleamos mismas sentencias, solo cambia el objeto asignado. Si tenemos 2 o 3 objetos no hay mucha diferencia de usar un método u otro, el ahorro aparece cuando se incrementa el número de objetos.

Crear código de esta manera resulta más eficiente, con tiempos de ejecución menores y más fáciles de mantener. El ejemplo muestra una nueva faceta de polimorfismo.

¿Te ha gustado? Compártelo.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  Acepto la política de privacidad

Información sobre protección de datos

  • Responsable: MIGUEL ANGEL SANZ
  • Fin del tratamiento: Moderar los comentarios. Responder las consultas
  • Legitimación: Tu consentimiento
  • Destinatarios 1&1 Internet España S.L.U. Politica de privacidad. https://www.ionos.es/terms-gtc//terms-privacy/.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información adicional: Más información en nuestra política de privacidad.