强制子类在overriden方法上调用super

时间:2017-04-04 16:51:44

标签: typescript

扩展类时,有时我们忘记在已经实现的方法中调用超类实现。

有没有办法通过在重写方法时抛出错误或者不调用super来阻止这种情况?

示例

class MainClass implements OnInit
{
    ngOnInit() {
        // base implementation
    }
}

class InnerClass extends MainClass
{
    ngOnInit() {
        super.ngOnInit(); // ---> throw error if didn't call this line
        // additional implementation
    }    
}

1 个答案:

答案 0 :(得分:0)

github 上有一个有趣的讨论,提出了 concrete 一词,但不,目前 TS 不支持它。您必须为此使用一些解决方法(也在该页面上列出)。