如何为打字稿类的抽象方法定义模板?

时间:2019-02-06 20:24:39

标签: typescript abstract-class typescript3.0

当我们在TypeScript中创建抽象类时,它就像:

export abstract class Test {
    abstract anAbstractMethod(): void;
    public aPublicMethod(): void {}
}

...然后,当我们用它扩展某些类时:

export class TestSon extends Test {
    anAbstractMethod(): void {
        throw new error('Method not implemented!');
    };
}

创建此throw new error('Method not implemented!');是为了帮助我们不要忘记实现它的代码。我不知道是VSCode还是它是预定义的TypeScript。

有人知道如何将此行更改为其他代码。如果我们可以为每个抽象方法定义一个模板,告诉下一个程序员应该在该方法中编码的内容是多少,而不是仅仅依赖注释,那将是非常好的。

1 个答案:

答案 0 :(得分:0)

但是...如果您需要预定义的代码,是否不应该使用抽象类呢?必要时,可以覆盖或不覆盖抽象类方法。

abstract class Test {
    aMethod(): void {      
      console.log("not yet implemented")
    }
    anotherMethod(): void {      
      console.log("not yet implemented")
    }
}

class TestSon extends Test {
   anotherMethod(){
     console.log("this is implemented")
   }
}

let s = new TestSon()
s.aMethod()
s.anotherMethod()