Title: Method Resolution Order

### Method Resolution Order

Die MRO legt fest, in welcher Reihenfolge Python bei mehrfacher Vererbung nach Methoden sucht.

class A:
def name(self):
return "A"

class B(A):
def name(self):
return "B"

class C(A):
def name(self):
return "C"

class D(B, C):
pass

print(D().name())
print([cls.__name__ for cls in D.mro()])

Implementiere `D.label()` so, dass die kooperative Methodenaufrufkette über
`super()` das Ergebnis `"D-B-C-A"` erzeugt. Ändere die Reihenfolge der
Basisklassen nicht.

class A:
def label(self):
return "A"

class B(A):
def label(self):
return "B-" + super().label()

class C(A):
def label(self):
return "C-" + super().label()

class D(B, C):
def label(self):
pass

print(D().label())
print("-".join(cls.__name__ for cls in D.mro()))