接口有以下几个特点
一、接口是以 interface 开头的类。
二、接口的作用的定义子类的结构。
三、接口中的属性和方法都是抽象的,所以接口自然不能 new。
四、接口类可以当成ts类型使用。
五、接口可以重复声明。
*下面是举例:
// 定义一个接口A
//接口以 interface 开头
// A中的所有属性个方法都是抽象的,属性不能有初始值,方法不能有方法体
interface A{
num: number;
str: string;
sum():boolean;
}
*实现接口用 implements 关键字,不能用 extends。
// 实现接口A
// 实现接口必须实现接口中的所有属性和方法。
class B implements A{
num: number;
str: string;
constructor(num:number,str:string){
this.num = num;
this.str = str;
}
sum(): boolean {
// .....省略n行代码
return false;
}
}
*接口类可以当成ts类型使用
// 定义一个接口A
interface A{
num: number;
str: string;
sum():boolean;
}
// 接口可以当做ts类型使用
const c:A = {
num: 1,
str: '',
sum: ()=>{
return true;
}
}
*接口可以重复声明,既可以存在多个同名的接口。
// 定义三个接口A
interface A{
num: number;
}
interface A{
str: string;
}
interface A{
sum():boolean;
}
//实现A的时候,子类必须实现所有A接口内的属性和方法,如果有重复的属性或方法,则合并成一个
class B implements A{
num: number;
str: string;
constructor( num: number,str: string){
this.num = num;
this.str = str;
}
sum(): boolean {
}
}