06.09 Python – Clases – MRO

El MRO (Method Resolution Order) o “Orden de Resolución de Métodos” es un concepto importante en Python relacionado con la herencia de clases y la forma en que se determina el orden en que los métodos de una clase y sus clases base (superclases) son buscados y llamados.

class A:
    def saludar(self):
        print("Hola desde clase A")

class B(A):
    def saludar(self):
        print("Hola desde clase B")

class C(A):
    def saludar(self):
        print("Hola desde clase C")

class D(B, C):
    pass

# Obtener el MRO de la clase D
print(D.mro())  # Resultado: [<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>]

# Crear un objeto de la clase D y llamar al método saludar()
objeto_d = D()
objeto_d.saludar()  # Resultado: "Hola desde clase B"

Related Posts