📘 Lesson · Lesson 87
Multiple Inheritance & MRO
Multiple Inheritance & MRO
Multiple Inheritance
💡 At a Glance
Unlike Java, Python allows a class to inherit from multiple parents. The MRO (Method Resolution Order) decides which parent's method runs first.
Example
Python
class A:
def show(self): print("A")
class B(A):
def show(self): print("B")
class C(A):
def show(self): print("C")
class D(B, C): # multiple inheritance
pass
d = D()
d.show() # follows MRO: D -> B -> C -> A
print(D.__mro__)B
(<class 'D'>, <class 'B'>, <class 'C'>, <class 'A'>, <class 'object'>)
Summary
- Python allows multiple inheritance (D from B and C).
- MRO decides method order: check with
ClassName.__mro__.
Multiple Inheritance
💡 एक नज़र में
Java के उलट, Python एक class को कई parents से inherit करने देता है। MRO (Method Resolution Order) तय करता है कि कौन से parent का method पहले चले।
Example
Python
class A:
def show(self): print("A")
class B(A):
def show(self): print("B")
class C(A):
def show(self): print("C")
class D(B, C): # multiple inheritance
pass
d = D()
d.show() # MRO follow: D -> B -> C -> A
print(D.__mro__)B
(<class 'D'>, <class 'B'>, <class 'C'>, <class 'A'>, <class 'object'>)
सारांश
- Python multiple inheritance देता है (D, B और C से)।
- MRO method order तय करता है:
ClassName.__mro__से देखें।