Cómo Python encuentra propiedades y métodos: continuación
La herencia múltiple ocurre cuando una clase tiene más de una superclase.
Sintácticamente, dicha herencia se presenta como una lista de superclases separadas por comas entre paréntesis después del nombre de la nueva clase, al igual que aquí:
class SuperA:
varA = 10
def funA(self):
return 11
class SuperB:
varB = 20
def funB(self):
return 21
class Sub(SuperA, SuperB):
pass
obj = Sub()
print(obj.varA, obj.funA())
print(obj.varB, obj.funB())
La clase Sub
tiene dos superclases: SuperA
y SuperB
. Esto significa que la clase Sub
hereda todos los bienes ofrecidos por ambas clases SuperA
y SuperB
.
El código imprime:
10 11
20 21
Ahora es el momento de introducir un nuevo término - overriding (anulación).
¿Qué crees que sucederá si más de una de las superclases define una entidad con un nombre en particular?