// 接口
/**
* 1.接口一方面可以在面向对象编程中表示为 行为的抽象, 另外可以用来描述 对象的形状
* 2.接口就是把一些类中共有的属性和方法抽象出来,可以用来约束实现此接口的类
* 3.一个类可以继承另一个类并实现多个接口
* 3.接口像插件一样是用来增强类的, 而抽象类是具体类的抽象概念
* 4.一个类可以实现多个接口,一个接口也可以被多个类实现,但是一个类可以有多个子类,只能有一个父类
*/
export{}
// 描述对象的形状
interface Speakable {
name:string
speak():void
}
let speakMan:Speakable = {
name:'111',
speak(){}
}
// 行为的抽象
// 同名接口可以写多个, 类型自动合并
interface Speakable {
speak(): void
}
interface Eatable {
eat(): void
}
class Person implements Speakable,Eatable {
name: string;
speak(): void {
throw new Error("Method not implemented.");
}
eat(): void {
throw new Error("Method not implemented.");
}
}
// 任意属性
interface Person2 {
readonly id: number
name: string
[key:string]: any //表示任意属性(该属性可有可无), 如果不加这一项下面的age:10 会报错
}
let p: Person2 = {
id: 1,
name: '111',
age: 10
}
// 接口的继承
interface Speakable2 {
speak(): void
}
interface SpeakChinese extends Speakable2 {
speakChin
ts学习第六篇 接口
最新推荐文章于 2021-02-16 17:14:53 发布