Contenido del Curso
Programación Orientada a Objetos en Python a Fondo
Programación Orientada a Objetos en Python a Fondo
Herencia Múltiple
Una clase puede ser subclase de algunas otras clases (heredar de varias otras clases).
Para heredar de varias clases, puede escribir los nombres de las clases separados por comas (,
):
class First: first_attribute = "First" def first_method(self): print("The first_method from the First class") class Second: second_attribute = "Second" def second_method(self): print("The second_method from the Second class") class Child(First, Second): pass instance = Child() print(instance.first_attribute) print(instance.second_attribute) instance.first_method() instance.second_method()
Pero la herencia múltiple tiene un orden. La prioridad de la búsqueda de atributos/métodos va de izquierda a derecha:
class First: attribute = "First" class Second: attribute = "Second" class Child(Second, First): # Order starts from the `Second` pass instance = Child() print(instance.attribute)
Esto demuestra cómo el orden de herencia afecta a la resolución de atributos en los casos en que el mismo atributo se define en varias clases padre.
¡Gracias por tus comentarios!