* 类类型接口:一个接口可以约束类成员有哪些属性以及类型 * 1. 类实现接口时,必须实现接口里所有的属性,类可以定义自己的方法 * 2. 接口只能约束类的共有成员 * 3. 接口不能约束类的构造函数 * */interface Human { // new (name: string): void name: string; eat(): void;}class Asian implements Human { constructor(name: string) { this.name = name } name: string eat() {} sleep() {}}/** * 接口的继承:接口可以像类一样相互继承,并且一个接口可以继承多个接口 * 可以抽离可重用的接口,合并成一个接口 */interface Man extends Human { run(): void}interface Child { cry(): void }interface Boy extends Man, Child {}let boy: Boy = { name: '', run() {}, eat() {}, cry() {}}/* 接口继承类*/class Auto { state = 1 private state2 = 0}interface AutoInterface extends Auto {}class C implements AutoInterface { state = 1}class Bus extends Auto implements AutoInterface {}/* 接口抽离类的时候:不仅抽离了公共成员,还抽离了私有成员,被保护成员*/
