|
|
1
2
回答你的第一个问题。以下是一些你可能想考虑的想法 首先,构造子类,使它们都使用相同的初始化参数。此外,您还可以将其他一些启动代码(例如您的编码体和服务器访问器)放在那里。我的意思是:
注意,在我的示例中,子类中仍然有重复的代码。理想情况下,您可以通过将副本放在适当的父类中来消除它。 如果在创建启动参数的公共列表时遇到问题,请更改类以接受参数列表作为哈希值{:event=>event,:room=>room,:server=>server,etc},而不是传入参数列表(event、room、server)。 不管怎样,一旦有了用于初始化类的公共参数结构,就可以更动态地初始化它们,从而不需要case语句。
如下代码将创建适当类的对象:
注意:有进一步的优化可以做什么,我提供了更干净和更简洁,但希望这有助于你克服驼峰的情况说明。
编辑:我忘了提到类实例变量
您将事件推到事件堆栈上,但我不清楚您希望栈存在于哪里,它是否是全局事件列表,或者特定于特定的类。我所做的是全局的,所以如果您希望将事件堆栈约束到某些类或实例,可以随意更改它。 |
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 2 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 2 年前 |