Curso de Python POO IX. Polimorfismo. Vídeo 32
Introducción al Polimorfismo en Programación Orientada a Objetos
Resumen de la sección: En esta sección del curso de programación en Python, se introduce el concepto de polimorfismo en la programación orientada a objetos. El polimorfismo permite que un objeto pueda cambiar de forma y comportamiento dependiendo del contexto en el que se utilice.
Concepto de Polimorfismo
- El polimorfismo es la capacidad de un objeto para cambiar su forma y comportamiento dependiendo del contexto.
- En el ejemplo de vehículos (coches, motos y camiones), el polimorfismo permitiría que un mismo objeto pueda cambiar de forma, pasando de ser un camión a una moto o a un coche, y su comportamiento también cambiaría según la forma en que se utiliza.
Ventajas del Polimorfismo en Python
- Python es un lenguaje de programación dinámico, lo que significa que no es necesario especificar el tipo de objeto al utilizarlo. Esto simplifica mucho el uso del polimorfismo en Python.
- El polimorfismo es una característica poderosa para programar, ya que permite adaptar objetos a diferentes contextos sin necesidad de crear múltiples clases o métodos específicos.
Ejemplo Práctico: Clases y Métodos con Comportamientos Diferentes
- Se crea un archivo llamado "ejemplo_polimorfismo.py" con tres clases: Coche, Moto y Camión.
- La clase Coche tiene un método "desplazamiento" que imprime en consola cómo se desplaza un objeto de tipo coche.
- La clase Moto tiene un método "desplazamiento" que imprime cómo se desplaza una moto.
- La clase Camión tiene un método "desplazamiento" que imprime cómo se desplaza un camión, utilizando seis ruedas para los camiones grandes.
Utilizando el Polimorfismo en Python
- Para utilizar el comportamiento de cada objeto, se crean instancias de las clases correspondientes.
- Por ejemplo, se crea una instancia llamada "mi_vehiculo" de la clase Moto y se utiliza el método "desplazamiento" para ver cómo se desplaza una moto.
- De manera similar, se pueden crear instancias de las clases Coche y Camión para utilizar sus respectivos métodos "desplazamiento".
Aplicación del Polimorfismo en Programación
- El polimorfismo es especialmente útil al desarrollar programas complejos como juegos, donde hay múltiples tipos de vehículos con diferentes comportamientos.
- Cada vehículo puede tener su propia clase y método "desplazamiento", lo que permite adaptar su comportamiento según el contexto del juego.
Conclusión:
El polimorfismo es una característica clave en la programación orientada a objetos que permite a los objetos cambiar su forma y comportamiento según el contexto. En Python, esta característica es fácil de utilizar gracias a su lenguaje dinámico. El ejemplo práctico muestra cómo crear clases y métodos con comportamientos diferentes y cómo utilizar el polimorfismo en la programación. El polimorfismo es especialmente útil en programas complejos como juegos, donde se pueden adaptar los comportamientos de los objetos según el contexto del juego.
Creación de una función de desplazamiento genérica
Resumen de la sección: En esta sección, se propone crear una función genérica de desplazamiento para evitar el uso de instancias específicas. Se explica cómo esta función puede recibir un objeto vehículo como parámetro y llamar al método desplazamiento correspondiente según el tipo de vehículo.
Creación de una función genérica de desplazamiento
- Podemos prescindir del uso de instancias específicas y crear una función genérica llamada "desplazamiento_vehiculo".
- Esta función recibirá un objeto vehículo como parámetro.
- El objeto vehículo puede ser un camión, coche, moto u otros tipos de vehículos.
- Gracias al polimorfismo, el objeto vehículo puede cambiar su forma y comportamiento según el contexto.
- Al llamar a la función "desplazamiento_vehiculo" con diferentes objetos vehículo, se utilizará automáticamente el método desplazamiento correspondiente.
Ejemplo práctico del polimorfismo
Resumen de la sección: En este ejemplo práctico, se demuestra cómo el polimorfismo permite que un objeto cambie su comportamiento según su tipo. Se crea un objeto camión y se utiliza la función "desplazamiento_vehiculo" para mostrar cómo cambia el número de ruedas utilizadas.
Ejemplo práctico del polimorfismo
- Creamos un objeto camión llamado "mi_vehiculo".
- Llamamos a la función "desplazamiento_vehiculo" pasando como parámetro el objeto camión.
- El objeto camión se almacena dentro del parámetro "vehiculo" de la función.
- Gracias al polimorfismo, el objeto camión se transforma en un objeto de tipo camión y llama al método desplazamiento correspondiente.
- Al ejecutar el programa, vemos que utiliza seis ruedas.
Cambio de tipo de vehículo y efecto en el polimorfismo
Resumen de la sección: En este ejemplo, se muestra cómo cambiar el tipo de vehículo afecta al comportamiento del polimorfismo. Se cambia el tipo de vehículo a coche y luego a moto para ver cómo varía el número de ruedas utilizadas.
Cambio de tipo de vehículo y efecto en el polimorfismo
- Cambiamos el tipo del objeto "mi_vehiculo" a coche.
- Llamamos nuevamente a la función "desplazamiento_vehiculo".
- El objeto "mi_vehiculo" se transforma en un objeto de tipo coche gracias al polimorfismo.
- Al ejecutar el programa, vemos que utiliza cuatro ruedas.
- Repetimos los pasos anteriores cambiando el tipo del vehículo a moto.
- Al ejecutar nuevamente, vemos que utiliza dos ruedas.
Polimorfismo en Python vs otros lenguajes
Resumen de la sección: En esta parte, se menciona la diferencia entre el uso del polimorfismo en Python y otros lenguajes como Java. Se destaca que Python es más sencillo y flexible en cuanto al manejo del polimorfismo.
Polimorfismo en Python vs otros lenguajes
- En Python, no es necesario especificar el tipo del parámetro en la función "desplazamiento_vehiculo".
- El polimorfismo en Python es débilmente tipado y flexible.
- En Java, sería necesario especificar el tipo del parámetro de forma forzada.
- El polimorfismo en Java puede ser más complejo debido a la necesidad de crear jerarquías de herencia.
Uso de consola en lugar de programación gráfica
Resumen de la sección: Se menciona que se utiliza la consola en lugar de programación gráfica para simplificar los ejemplos y evitar complicaciones innecesarias.
Uso de consola en lugar de programación gráfica
- Se utiliza la consola como entorno para los ejemplos y explicaciones.
- La elección se realiza para mantener los ejemplos simples y evitar complicaciones innecesarias.
- Algunos espectadores pueden preguntarse por qué no se utiliza programación gráfica.