Cargando



Polimorfismo en Java

En este tutorial veremos que es el polimorfismo, los tipos y como implementarlo en nuestros programas hechos en Java.


jul 25 2014 19:50
Intermedio
jul 28 2014 18:38
Dentro de la programación orientada a objetos existen 3 pilares fundamentales, la herencia, que nos permite obtener los atributos y métodos de una clase padre, el encapsulamiento que nos permite mantener los métodos y atributos propios de una clase y que no deber ser vistos fuera de ella y el tercero que es el polimorfismo.

Polimorfismo
La palabra polimorfismo viene de un vocablo griego y significa que tiene muchas formas, por ello entonces podemos definir que el polimorfismo es la capacidad de utilizar muchas formas en Java.


Tipos


Para poder entender de qué va el polimorfismo debemos entender los conceptos claves, uno de ellos son los tipos, un tipo es la definición que se genera de una clase, por ello esto nos deriva en dos conceptos adicionales relacionados.

El Subtipo
Cuando creamos una clase que hereda de otra estamos creando un subtipo, ya que es un tipo derivado de un tipo superior, podemos decir por ejemplo que si tenemos una clase FiguraGeometrica y de esta creamos una clase Circulo que la hereda, entonces nuestra clase Circulo define un subtipo de FiguraGeometrica.

El Supertipo
Es lo contrario, cuando una clase es heredada, se convierte en una superclase o clase padre, por ende ahora resulta ser el supertipo, es decir, el tipo primario o que ayuda a definir sus subtipos, si seguimos el ejemplo que ya definimos el supertipo sería la clase FiguraGeometrica.


Con esto definimos los conceptos que nos van a ayudar a entender el polimorfismo, si ponemos el ejemplo un poco más extenso podemos decir que un Círculo siempre será del tipo FiguraGeometrica, pero no todos los tipos de FiguraGeometrica serán del tipo Circulo, si hablamos de las clases que acabamos de definir, por ejemplo si ahora creamos una subclase que herede de la clase FiguraGeometrica y se llame Rectángulo, ahora tenemos un nuevo subtipo, que sigue siendo del tipo FiguraGeometrica pero adopta una nueva forma y he aquí el polimorfismo.

Ejemplo Práctico


Ya que hemos visto la teoría de los tipos, podemos entonces decir que una subclase siempre va a ser del tipo de su clase padre, pero que la clase padre no será del tipo de su subclase o clase hija, con ello podemos entonces ver el siguiente ejemplo donde en un método pedimos por parámetro un objeto del tipo FiguraGeometrica, por ello podemos recibir sus muchas formas, en este caso podemos recibir un objeto de Circulo o de Rectángulo, ya que ambos a pesar de ser diferentes comparten el supertipo.

Veamos en la siguiente imagen un código que nos muestra cómo se comportaría un método con el polimorfismo:

java_polimorfismo.jpg


En este ejemplo, el método mostrar objeto espera un objeto del tipo de FiguraGeometrica, si sabemos que Circulo y Rectángulo son subclases de FiguraGeometrica, entonces podemos pasar sus objetos al método ya que son diferentes formas de FiguraGeometrica y cumplen la función.

Ya hemos aprendido a utilizar el tercer pilar de la orientación a objetos, ahora podremos construir métodos más amplios y que pueden ser reutilizados en diferentes implementaciones de nuestros programas en Java.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X