Python:如何实现multiple-inheritance?

Python: how to implement multiple-inheritance?

oop 新手。写入 Python 3.

我正在开发一款多人游戏。 这些是我需要的 classes:

显然会话应该是玩家和游戏室的 child。但是,session 实例如何知道它的 parents 是哪个 gameroom 和 player 实例?

假设:

现在我想要 'session' 的 playerID = 2 和 roomID = 2 的实例。如何 'pass' roomID 和 playerID 到新的会话实例?

这是正确的实施方式吗?或者我可以以某种方式隐式创建会话实例而不需要将玩家和房间保存在变量中吗?

from player import player
from room import room

class session(player,room):
    def __init__(self, player: player, room: room):
        self.point = 0
        self.player = player
        self.room = room
        print('player {} has joined room {}'.format(player.id,room.id))

继承不是这里的正确工具。您应该将 playerroom 实例传递给 session__init__ 方法。

继承用于对 classes 的扩展建模。如果一个 class 继承另一个,例如Car继承了Vehicle,你用car = Car()实例化了一个Car对象,car也是Vehicle的一个实例。

您可以在 wikipedia article 关于继承的应用部分阅读更多关于此主题的内容。

类似这样,假设 Player 和 Room 具有实例属性 name 和 roomID

class Session(Player,Room):
    def __init__(self, name, roomID ):
        Player.__init__(self, name)
        Room.__init__(self, roomID)
        self.point = 0
        print('player {} has joined room {}'.format(name,roomID))