Module (45%)
Section (47%)

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?



Code

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())
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×