Polimorfismo en Programación Orientada a Objetos
Clase 27 de 63 • Curso de Python
Resumen
Programar con objetos puede parecer complejo al principio, pero entender sus pilares fundamentales te facilitará mucho la tarea. Vamos a ver cómo aplicar abstracción, encapsulamiento, herencia y polimorfismo en un código sencillo.
¿Qué es la abstracción en programación orientada a objetos?
La abstracción te permite definir estructuras básicas sin entrar en detalles específicos. En el código, hemos creado instancias de diferentes vehículos, como un auto, una bicicleta y un camión, asignándoles atributos como marca, modelo y precio. Este enfoque nos permite trabajar con conceptos generales antes de precisar características específicas.
¿Cómo se aplica el encapsulamiento?
El encapsulamiento se refiere a mantener los datos privados dentro de una clase y acceder a ellos solo mediante métodos públicos. En nuestro ejemplo, las variables de instancia de los vehículos son privadas. Solo podemos acceder a ellas a través de métodos específicos, como GetPrice
o verificarDisponibilidad
, asegurando así que los datos se manejen de manera controlada y segura.
¿Qué rol juega la herencia?
La herencia permite que una clase hija adopte atributos y métodos de una clase padre. Aquí, la clase auto
hereda de la clase vehículo
, lo que significa que todas las características y comportamientos definidos en vehículo
están disponibles en auto
sin necesidad de duplicar el código. Este principio facilita la reutilización y extensión del código.
¿Qué es el polimorfismo y cómo se usa?
El polimorfismo permite que diferentes clases respondan a los mismos métodos de maneras distintas. En nuestro caso, tanto el auto como la bicicleta heredan métodos de vehículo
, pero cada uno los implementa de forma diferente. Por ejemplo, el método para indicar que el auto está en marcha difiere del método de la bicicleta, que no usa motor. Este comportamiento flexible es clave para escribir código más dinámico y reutilizable.