WhatsApp chat

Python herencia múltiple

Marlon Falcon Hernandez, • python
Back

La herencia es uno de los pilares de la programación orientada a objetos: permite que una clase reutilice los atributos y métodos de otra. Python admite además la herencia múltiple, es decir, una clase puede heredar de dos o más clases a la vez.

Ejemplo de herencia múltiple

La clase C hereda de A y de B, por lo que un objeto de tipo C puede usar los métodos de las tres clases:

class A:
   def print_a(self):
       print('a')
class B:
   def print_b(self):
       print('b')
class C(A, B):
   def print_c(self):
       print('c')
 
c = C()
c.print_a()
c.print_b()
c.print_c()

La salida será a, b y c, cada una en una línea.

Clase sin herencia

Como comparación, esta es una clase simple que no hereda de ninguna otra. Definimos atributos de clase y accedemos a ellos desde una instancia:

class Auto:
    marca = "Audi"
    modelo = "A4"
    plata = "121212"

taxi = Auto()
print(taxi.marca)

Nota

Si dos clases padre definen un método con el mismo nombre, Python usa el orden de resolución de métodos (MRO): busca primero en la clase hija y después en las clases padre en el orden en que aparecen en la definición (A antes que B en el ejemplo). Puedes consultar ese orden con C.__mro__.