|
|
1
6
你应该实施 Abstract Factory pattern ,然后您的工厂将根据提供的参数生成您喜欢的任何对象。这样,您的代码将保持干净和可扩展性。 当您升级解释器版本时,可以删除任何可以直接使用的hack,因为没有人期望向后兼容来保留这些东西。 编辑:过了一段时间,我不确定是否应该使用抽象工厂,或者 Factory Method pattern . 这取决于代码的细节,因此适合您的需要。 |
|
|
2
2
一般来说,当超类了解子类时,这不是一个好主意。
超类为该类型的所有对象(例如动物)提供通用行为。然后,子类提供行为的专门化,例如狗。 从“isa”关系的角度考虑,即狗是动物。 动物就是狗,这是没有道理的。
干杯 抢劫 |
|
|
3
2
我不认为您可以更改对象的类型,但是您可以创建另一个类,该类的工作方式类似于子类的工厂。大概是这样的:
|