0
我有一個像desribed一個原型類:haxe - 如何自動爲原型clone()函數投射類型?
class CEnumList<T:EnumValue> {
...
public function clone():CEnumList<T> {
var result:CEnumList<T> = new CEnumList<T>();
...
return result;
}
}
克隆方法實現創建實例的完整副本的標準程序。我有一個繼承類:
class CElements extends CEnumList<EElements> {
...
}
其中EElements是枚舉類型。但是,當我打電話的地方:
var damage:CElements = baseDamage.clone();
我有一個錯誤「data.CEnumList應該是data.char.CElements」,這是完全正確的。但是,如果我的繼承類只有枚舉類型不同,我該如何繼承原型clone()方法?我是否應該創建儘可能多的clone()方法,因爲我擁有不同的類,並且所有這些方法都只會投射專用基類克隆的類型?
也許這不是一個關於haxe的問題,而是關於應用程序體系結構的問題。