Polimorfismo en POO

Wolves Mobile
2 min readApr 17, 2021

--

El polimorfismo va muy ligado a la herencia, ya que si no hay herencia no podría darse el polimorfismo, por la sobre carga de métodos.

Antes de comenzar empecemos definiendo que es el polimorfismo.

El polimorfismo es la propiedad que permite que una sola variable pueda hacer referencia a diferentes objetos

Un ejemplo clásico de poliformismo es el siguiente. Podemos crear tres clases distintas: Triángulo, Circulo y Rectángulo, que heredan de la superclase Figura. La clase Figura tiene el método abstracto dibujar() que se implementa de forma distinta en cada una de las subclases (triángulo, circulo y rectángulo se dibujan de diferente manera). Entonces, un cuarto objeto puede mandar a llamar el método dibujar a un grupo de objetos triángulo, circulo y rectángulo por medio de una variable de referencia de clase Figura, haciendo así un uso polimórfico de dichos objetos.

En la imagen se puede observar que aunque se comparte el mismo método de dibujar, la forma de usarlo es diferente de a cuerdo a su tipo de figura que es, pero gracias al polimorfismo podemos hacer referencia a el desde la clase base que es figura, de la siguiente manera.

public static void main(String[ ] args) {
Figura a = new Triangulo();
Figura b = new Circulo();
Figura c = new Rectangulo();
}

Creamos tres variables de referencia de tipo Figura y las apuntamos a los objetos Triangulo, Circuloy Rectangulo ahora, podemos llamar a los métodos dibujar(), y obtendríamos la forma de cada figura de la que hayamos hecho referencia.

Como decía el polimorfismo, que se refiere a la idea de “tener muchas formas”, ocurre cuando hay una jerarquía de clases relacionadas entre sí a través de la herencia y este es un buen ejemplo.

--

--