【发布时间】:2018-03-29 23:42:21
【问题描述】:
我正在使用 Typescript 构建一个类系统。有一个主要的抽象类Component,它有一个静态方法create()。这个方法会被孩子调用来构建一个特定的实例
abstract class Component {
static build() {
// some additional logic here, for example, cache to reuse instances
return new this();
}
}
class Button extends Component { }
class Input extends Component {}
Button.build(); // returns Button instance
Input.build(); // returns Input instance
这种方法在 Javascript 中运行良好,但 Typescript 在 new this() 行报告错误,说“无法创建抽象类的实例。”
我如何解释 typescript 方法将在派生实例上调用,而不是直接在主抽象类上调用?也许还有其他方法可以实现我需要的 API?
【问题讨论】:
标签: typescript oop