小编bry*_*ing的帖子

如何模拟抽象类并调用其构造函数?

我试图通过在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)

oop design-patterns typescript

6
推荐指数
2
解决办法
3462
查看次数

标签 统计

design-patterns ×1

oop ×1

typescript ×1