继承作为面向对象的三大特性之一,为我们的编程带来极大的便利,更好地掌握继承能够让我们写出更加优美简洁的代码。本篇博客意在让读者了解当父类拥有同名方法时,子类继承方法的规则。首先观察以下两个示例:
class A: def method1(self): print('A') class B: def method1(self): print('B') def method2(self): print('B') class C: def method1(self): print('C') def method2(self): print('C') class D(A,C,B): pass d = D() d.method1() d.method2() 运行结果 A C class A: def method1(self): print('A') class B: def method1(self): print('B') def method2(self): print('B') class C: def method1(self): print('C') def method2(self): print('C') class D(A,B,C): pass d = D() d.method1() d.method2() 运行结果 A B通过以上两个示例可以发现,当父类拥有同名方法时,子类中的继承的方法与继承时父类的顺序有关,并且前一个父类的方法会覆盖后面父类中的同名方法