![]() |
1
2
回答你的第一个问题。以下是一些你可能想考虑的想法 首先,构造子类,使它们都使用相同的初始化参数。此外,您还可以将其他一些启动代码(例如您的编码体和服务器访问器)放在那里。我的意思是:
注意,在我的示例中,子类中仍然有重复的代码。理想情况下,您可以通过将副本放在适当的父类中来消除它。 如果在创建启动参数的公共列表时遇到问题,请更改类以接受参数列表作为哈希值{:event=>event,:room=>room,:server=>server,etc},而不是传入参数列表(event、room、server)。 不管怎样,一旦有了用于初始化类的公共参数结构,就可以更动态地初始化它们,从而不需要case语句。
如下代码将创建适当类的对象:
注意:有进一步的优化可以做什么,我提供了更干净和更简洁,但希望这有助于你克服驼峰的情况说明。
编辑:我忘了提到类实例变量
您将事件推到事件堆栈上,但我不清楚您希望栈存在于哪里,它是否是全局事件列表,或者特定于特定的类。我所做的是全局的,所以如果您希望将事件堆栈约束到某些类或实例,可以随意更改它。 |
![]() |
Schadre · C-plus编码错误 2 年前 |
![]() |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 2 年前 |
![]() |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
![]() |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |