通过接口,我们可以为对象定义一种结构和契约,我们还可以把类和接口进行结合,通过接口,让类去强制符合某种契约。从某个方面来说,当一个抽象类中只有抽象的时候,他与接口没有太大区别,这个时候我们更推荐通过接口来定义契约
- 抽象类编译后还是会产生实体代码,而接口不会
- typescript只支持单继承,即一个子类只能有一个父类,但是一个类可以实现多个接口
- 接口不能有实现,抽象类可以
implements
在一个类中使用接口并不是使用extends关键字,而是implements
- 与接口类似,如果一个类implements了一个接口,那么就必须实现该接口中定义的契约
- 多个接口使用 , 分割
- implements 与 extends 可以同时存在
interface Ilog{
getInfo(): string;
}
interface MyProps{
val: number
}
interface MyState{
x: number
}
class MyComponents<MyProps,MyState> implements Ilog{
constructor(props: MyProps,state: MyState){
}
getInfo():string{
return ''
}
}