0

我有一个基类名称 Bot;Bot 通过另一个名为 IRC (d'oh) 的类启动与 IRC 的连接。

IRC 类包含与 IRC 服务器交互所需的所有函数(joinpartsayquit,仅举几例)。

一个名为 Bot 的属性irc包含该机器人已启动的 IRC 类的实例。

另一个名为 Command 的类作为 IRC 服务器上用户可以使用的所有命令的基类。Command 实际上有一个应该用于机器人实例的参数,尽管我不知道如何在其中获取机器人实例,因为所有命令都继承自 Command 类,而且我无法添加super() 到每个__init__.

我怎样才能让命令使用 IRC 类中的函数,而无需在每次一个连接运行命令时启动新的 IRC 连接(哦,是的,这只是发生在我身上!)?

4

1 回答 1

0

如果您想在一个类中从另一个类中运行一个函数而无需任何其他交互,那么您只需要一个变量来保存您要运行的方法的类的实例。在类内运行方法与在类外运行方法没有任何不同(除非该类正在运行它自己的方法之一)

class.method()

应该可以正常运行该方法

于 2013-11-18T00:19:28.563 回答