Herencia es un concepto central en la programación orientada a objetos que te permite aprender de clases existentes y crear tus propias clases que ofrecen funcionalidades adicionales. En esta guía aprenderás cómo aplicar la herencia en Python de manera efectiva y cómo crear clases que heredan de otras clases.

Principales hallazgos

  • Las clases pueden heredar de otras clases, lo que les permite adquirir sus propiedades y métodos.
  • La herencia ayuda a estructurar y reutilizar el código de manera más eficiente.
  • Las subclases pueden implementar funciones específicas que heredan de la superclase, así como agregar sus propias funciones específicas.

Guía paso a paso

1. Crear una clase base

Comienza creando una clase muy simple. La clase Coche se utiliza aquí como ejemplo. Esta clase tiene propiedades y métodos básicos que un coche debería tener.

Entender y aplicar la herencia en Python

2. Instanciar la clase base

Una vez que hayas definido la clase, puedes crear una instancia de Coche. Esta instancia heredará los métodos y propiedades definidas en la clase.

Entender y aplicar la herencia en Python

3. Crear una subclase

Ahora crea una subclase BMW, que heredará sus funcionalidades de la clase Coche. La subclase proporcionará características y comportamientos específicos para un coche BMW.

4. Instanciar la subclase

Crea una instancia de la subclase BMW para ver cómo funcionan los métodos heredados y qué nuevas funciones adicionales ofrece la subclase.

Entender y aplicar la herencia en Python

5. Sobrescribir métodos

También puedes sobrescribir métodos de la superclase en la subclase para proporcionar implementaciones específicas. Aquí se utiliza el método was_bin_ich en la clase BMW.

Entender y aplicar la herencia en Python

6. Crear funciones específicas

También puedes agregar tus propios métodos específicos a la subclase que no existan en la superclase. Así, se define overholen como una función para la clase BMW.

Entender y aplicar la herencia en Python

7. Manejo de errores en discrepancias

Si intentas llamar a una función específica de la subclase BMW en una instancia de la superclase Coche, se mostrará un error. Es importante entender esto para poder manejar la herencia correctamente.

Entender y aplicar la herencia en Python

8. Creación de otra subclase

Puedes refinar aún más tu enfoque de programación creando otra subclase de BMW, por ejemplo, M3. Esta clase hereda todas las funcionalidades de BMW y puede implementar sus propios métodos.

Entender y aplicar la herencia en Python

9. Integración de las funciones

Prueba las jerarquías y la integración de todas las clases creadas. Una instancia de M3 ahora tendrá acceso a todas las funciones de sus antepasados.

Entender y aplicar la herencia en Python

Resumen – Entender e implementar la herencia en Python

La herencia en Python te permite extender clases existentes e implementar funcionalidades específicas en subclases. Puedes crear un código efectivo y estructurado que sea fácil de mantener y ampliar mediante implementaciones simples y heredando métodos y propiedades.

Preguntas frecuentes

¿Qué es la herencia en Python?La herencia es un concepto donde una clase (subclase) hereda propiedades y métodos de otra clase (superclase).

¿Cómo creo una subclase?Se crea una subclase especificando la superclase entre paréntesis al definir la subclase.

¿Puedo sobrescribir métodos de la superclase en la subclase?Sí, puedes sobrescribir métodos de la superclase en la subclase con la misma firma de método.

¿Qué sucede si llamo a funciones especiales de la subclase en la superclase?Eso resulta en un error, ya que la superclase no conoce las funciones específicas de la subclase.

¿Cómo creo múltiples niveles de subclases?Puedes crear otra subclase de una subclase existente para crear una jerarquía más profunda.