1
ClassReturnerとTheClassから継承する新しいクラスを作成できる構造を設定したいと思いますが、エラーが発生しています。抽象クラス抽象クラスBの新しいインスタンスをインスタンス化できません
abstract class ClassReturner <TClass extends TheClass> {
private returningClass : TClass;
constructor (r : TClass){
this.returningClass = r;
}
public getAnotherClass(){
//ERROR BELOW: Cannot use 'new' with an expression whose type lacks a call or construct signature.
return new this.returningClass("John Doe");
}
}
abstract class TheClass {
private whoiam: string;
constructor (w : string){
this.whoiam = w;
}
}
なぜこれは許可されていませんか? TClass
がTheClass
に拡張されていても、コンストラクタがあることを確認してはいけませんか?