我试图通过在TypeScript中编写代码来跟随C#设计模式书.也许这是我的第一个错误,但这是我喜欢学习语言的一种方式.
TypeScript不支持类的抽象关键字,所以我试图模拟它.也许这是我的第二个错误.
这是我的界面和类:
interface IEngine {
getSize(): number;
getTurbo(): boolean;
}
class AbstractEngine implements IEngine {
constructor(private size: number, private turbo: boolean) {
throw "Abstract class";
}
public getSize(): number {
return this.size;
}
public getTurbo(): boolean {
return this.turbo;
}
public toString(): string {
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec(this.constructor.toString());
var className = (results && results.length > 1) ? results[1] : '';
return className + " (" + this.size + ")";
}
}
class StandardEngine extends …Run Code Online (Sandbox Code Playgroud)