首页 > 关于Python的重复继承,请高手解惑!

关于Python的重复继承,请高手解惑!

如下两个类的声明:
class GameLogicInterface(Actor, SocketWrapperMixin, TimerMixin, protocol.Protocol):

class GameLogic(GameLogicInterface, TimerMixin, CardTypeMixin, protocol.Protocol):

很明显GameLogic有重复继承,为什么不直接写class GameLogic(GameLogicInterface):?

我知道现在Python的MRO是广度优先,但这样的重复继承没什么问题吗? 不会造成存储浪费吗?


看不出有什么问题。多用个几 k 数据不算什么事吧?


我觉得出现这样的代码,应该是有历史原因的,比如最开始,GameLogicInterface可能并没有从TimerMixinprotocol.Protocol继承,所以它的子类GameLogic需要自行继承这两个类。但从某个时候开始,GameLogicInterface中加入了那两个父类,但又不能(或者不愿意)修改所有子类,所以就出现了你看到的中情况。

【热门文章】
【热门文章】