python和java不一样,java是单继承然后实现多个接口,而python是多继承,所以设计到一个父类的方法同名字,子类调用的时候是调用那一个方法的问题
代码如下:
class GrandFather(object):
def get(self):
print('grand father')
class Father(GrandFather):
def get(self):
print('father')
class StepFather(GrandFather):
def get(self):
print('step father')
class Son(Father,StepFather):
pass
def run():
s = Son()
s.get()
if __name__ == '__main__':
run()
输入如下:
father
原因在与python默认会从第一个继承的父类那里去寻找改方法,如果该实例中两个父类都没有实现get方法,那么久直接调用GrandFather的get方法。如上