【发布时间】:2012-06-05 04:24:55
【问题描述】:
这个问题实际上出现了不少。以这个实例模型视图为例。我有 2 个对象。模拟对象和渲染对象。
ObjectRSim 类(Object,指定为 Render Sim)类似于:
class ObjectRSsim {
var simObject:ObjectSim;
}
ObjectRSim,使用 ObjectSim 的属性/失效。
有继承ObjectRSim和ObjectSim的对象:
PosObjectRSim 和 PosObjectSim(位置对象..)
class PosObjectRSim extends ObjectRSim {
var posSimObject:PosObjectSim;
}
或者...
class ObjectRSim {
var simObject:Dynamic; //Dynamic is untyped Type from haxe, the compiler does not check calls to a Dynamic object.
}
我应该在 ObjectRSim 层次类中引用 ObjectSim 的继承层次中的每个类型,还是应该只使用 simObject:Dynamic?
【问题讨论】:
-
因为 java 和 c++ 是最常用的具有参数化的类型语言,这适用于用它们编写的应用程序。
-
但是这种语法在 Java 或 C++ 中不起作用,它们已经有自己的语法来引用基类。
-
那是伪代码。这个问题对于类型化语言来说是普遍的。无论如何,答案是多个引用或依赖项的参数化。