这是我在 python 代码中的示例模型
class BasicActivity:
def run(self):
print "basic run"
def jump(self):
print "basic jump"
class ChickenStyleActivity(BasicActivity):
def run(self):
print "run like chicken"
class BunnyStyleActivity(BasicActivity):
def jump(self):
print "jump like bunny"
class ExtraordinaryActivity(ChickenStyleActivity,BunnyStyleActivity):
pass
d = ExtraordinaryActivity()
d.run()
d.jump()
我期待在一个班级中同时拥有鸡肉和兔子风格,但令我惊讶的是,它是小鸡跑,但基本跳跃。我开始阅读有关方法解析顺序的内容,现在我可以看到在多重继承中更改类的顺序会带来相反的效果。
问题是 - 我怎样才能在一个班级中同时拥有鸡肉和兔子风格?
更一般地说:当方法覆盖发挥作用时,如何正确继承具有共同基类的几个类?