python调用父类方法( 二 )


在Python中 , 继承链的顺序是根据方法解析顺序(MRO)算法计算的 。MRO算法根据以下原则确定继承链的顺序:
- 子类的MRO列表是父类的MRO列表的顺序合并 。
- 每个类在MRO列表中只出现一次 。
- 如果有多个父类 , Python会根据广度优先搜索的顺序来查找方法 。
下面是一个示例:
```python
class Parent1:
def method(self):
print("Parent1 method")
class Parent2:
def method(self):
print("Parent2 method")
class Child(Parent1, Parent2):
pass
obj = Child()
obj.method()
```
在上面的示例中 , Child类从Parent1类和Parent2类中继承了method()方法 。在调用obj.method()时 , Python将按照以下顺序查找方法:
1. Child
2. Parent1
3. Parent2
因为Child类没有覆盖method()方法 , 所以Python会在Parent1类中找到method()方法 , 并调用它 。

推荐阅读