如果没有实现方法,为什么要使用抽象类而不是接口

时间:2016-11-10 18:40:58

标签: angular typescript

Angular2在其文件core/src/metadata/lifecycle_hooks.ts declares中作为抽象

export abstract class OnInit { abstract ngOnInit(): void; }

为什么不将它声明为接口,因为它没有实现?

1 个答案:

答案 0 :(得分:2)

接口不存在于java脚本中;因此,据推测,使用抽象类(没有任何成员实现)是一种有用的方法来实现"合同"在运行时有一个真正的类型。一种可能的用途是依赖注入。