とクローンの自己インスタンスを、私は現在のクラスのインスタンスのクローンを作成し、clone()
内の多型クラスのインスタンスを作成したい、このような何か:活字体の自己クラスタイプ
class State
{
public clone():State
{
const state = new State();
this._copyData(state);
return state;
}
protected _copyData(target:this):void
{
}
}
class StateExtends extends State
{
public clone():StateExtends
{
const state = new StateExtends();
return state;
}
protected _copyData(target:this):void
{
super._copyData(target);
}
}
Stateクラスをオーバーライドするとき、私はclone()
をしたいです署名はすべてのクラス階層で同じままにしておきます。
class State
{
public clone():this
{
const state = new this();
this._copyData(state);
return state;
}
protected _copyData(target:this):void
{
}
}
class StateExtends extends State
{
protected _copyData(target:this):void
{
super._copyData(target);
}
}
しかし、これは機能しません。
他の提案はありますか?
ありがとうございました。 '' constructor '':new()=> this; 'は必要ありません。それなしでコンパイルする。 TypeScript v2.6.2 –