Man könnte nun auf die Idee kommen, in D die Methode m() zu überladen und explizit Methode m() von B und C aufzurufen:
class A(object):
def m(self):
print("m in A")
class B(A):
def m(self):
A.m(self)
print("m in B")
class C(A):
def m(self):
A.m(self)
print("m in C")
class D(B,C):
def m(self):
B.m(self)
C.m(self)
d = D()
d.m()
Wir erhalten die folgende Ausgabe:
m in A
m in B
m in A
m in C