Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Herencia Múltiple | Herencia
Programación Orientada a Objetos en Python a Fondo
course content

Contenido del Curso

Programación Orientada a Objetos en Python a Fondo

Programación Orientada a Objetos en Python a Fondo

1. Conceptos de POO
2. Herencia
3. Encapsulamiento
4. Polimorfismo y Abstracción
5. Métodos Mágicos

bookHerencia 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 (,):

123456789101112131415161718192021
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()
copy

Pero la herencia múltiple tiene un orden. La prioridad de la búsqueda de atributos/métodos va de izquierda a derecha:

1234567891011
class First: attribute = "First" class Second: attribute = "Second" class Child(Second, First): # Order starts from the `Second` pass instance = Child() print(instance.attribute)
copy

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.

¿Cómo heredar una clase de Padre1 y Padre2?

¿Cómo heredar una clase de Padre1 y Padre2?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt