Lección 7.7.2 :Herencia Múltiple , Segunda Parte
Herencia Múltiple en Python: Segunda Parte
Introducción
¡Hola a todos! Soy Yuscu Mejía y en esta segunda parte de la lección sobre herencia múltiple en Python, vamos a profundizar en aspectos más avanzados de este concepto. Veremos cómo manejar conflictos en la herencia múltiple y exploraremos el método de resolución de orden (MRO).
Características
La herencia múltiple en Python tiene las siguientes características avanzadas:
- Permite a una clase heredar de múltiples clases base, combinando sus funcionalidades.
- Utiliza el MRO (Method Resolution Order) para determinar la jerarquía de métodos.
- Debe manejarse con cuidado para evitar conflictos y ambigüedades.
- Facilita la creación de clases complejas y reutilizables mediante la combinación de clases base.
Ejemplos
A continuación, algunos ejemplos de cómo manejar la herencia múltiple en Python, presentados por Yuscu Mejía:
- Manejo de conflictos en la herencia múltiple:
# Definir una clase llamada 'ClaseA'
class ClaseA:
def hacer_algo(self):
return "ClaseA haciendo algo"
# Definir una clase llamada 'ClaseB'
class ClaseB:
def hacer_algo(self):
return "ClaseB haciendo algo diferente"
# Definir una clase llamada 'ClaseC' que hereda de 'ClaseA' y 'ClaseB'
class ClaseC(ClaseA, ClaseB):
def hacer_algo(self):
return super().hacer_algo()
# Crear una instancia de la clase 'ClaseC'
mi_clase = ClaseC()
print(mi_clase.hacer_algo()) # Imprime: ClaseA haciendo algo
# Definir una clase llamada 'X'
class X:
pass
# Definir una clase llamada 'Y' que hereda de 'X'
class Y(X):
pass
# Definir una clase llamada 'Z' que hereda de 'X'
class Z(X):
pass
# Definir una clase llamada 'A' que hereda de 'Y' y 'Z'
class A(Y, Z):
pass
# Mostrar el MRO de la clase 'A'
print(A.__mro__)
# Imprime: (, , , , )
Práctica
Para practicar, les invito a ver nuestro tutorial en video sobre herencia múltiple avanzada en Python, presentado por Yuscu Mejía:
Recorda si te gusta los videos, te agradeceria si le pones un comentario o un like para saber si subir mas videos! 😮
Si no sabes que comentar, comenta con: estoy avanzando rapido con el curso de Programacion python 🙂 asi te detectaremos que viniste de aca, para una estadistica si conviene o no subir videos

Ejercicio
Ahora les propongo un ejercicio para aplicar lo que hemos aprendido sobre herencia múltiple avanzada en Python, con la guía de Yuscu Mejía:
Ejercicio: Manejo de Conflictos en Herencia Múltiple
Vamos a crear una clase llamada DispositivoHibrido que herede la funcionalidad de dos clases: Telefono y Tablet. Resolveremos conflictos de métodos utilizando el MRO:
#Ejercicio
# Definir una clase llamada 'Telefono'
class Telefono:
def operar(self):
return "Usando el teléfono"
# Definir una clase llamada 'Tablet'
class Tablet:
def operar(self):
return "Usando la tablet"
# Definir una clase llamada 'DispositivoHibrido' que hereda de 'Telefono' y 'Tablet'
class DispositivoHibrido(Telefono, Tablet):
def operar(self):
return super().operar()
# Crear una instancia de la clase 'DispositivoHibrido'
mi_dispositivo = DispositivoHibrido()
print(mi_dispositivo.operar()) # Imprime: Usando el teléfono
# Mostrar el MRO de la clase 'DispositivoHibrido'
print(DispositivoHibrido.__mro__)
# Imprime: (, , , )

