15 - Concepto e implementación del polimorfismo en Python
Lección 15 del curso Python Nivel Avanzado.
Tabla de contenido
Introducción
En la lección anterior vimos cómo implementar el concepto de herencia en Python con lo cual pudimos crear subclases que tenían atributos y métodos heredados de la clase madre.
Y en esta lección veremos otro elemento muy usado en la Programación Orientada a Objetos: el polimorfismo, que permite dar diferentes usos a un mismo método o atributo dependiendo de la clase o subclase que estemos usando.

Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Principio básico del polimorfismo
En varias lecciones de este y de los cursos anteriores hemos hecho uso de la función len
, que permite obtener el número de ítems de un objeto.
Y esta misma función la podemos aplicar a diferentes tipos de datos (listas, tuplas, diccionarios, strings, etc.).
El polimorfismo en la Programación Orientada a Objetos
El mismo concepto de polimorfismo lo podemos aplicar en la Programación Orientada a Objetos.
Por ejemplo podemos tener la clase madre Vehiculo
con métodos específicos. De esta clase podemos derivar las clases Avion
y Bote
pero podemos hacer que los métodos heredados se comporten de manera diferente.
Veamos esto en detalle:

Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Así que el polimorfismo nos permite procesar objetos de manera diferente dependiendo del tipo de dato al que pertenezcan.
Conclusión
Muy bien, hasta este punto hemos visto todos los conceptos y aspectos prácticos esenciales de la Programación Orientada a Objetos: las clases, las instancias, los métodos y atributos, la herencia y el polimorfismo.
Así que en la próxima lección vamos a ver algunas sugerencias para el desarrollo de nuestros programas usando la Programación Orientada a Objetos, lo que nos servirá como guía cuando queramos desarrollar proyectos bajo este enfoque de programación.