1. 接口
TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
通俗讲,接口就像是一个标准,规范你所定义的类中,应该包含哪些属性和方法,同时也可以当成类声明去使用。
接口中的方法是抽象方法(没有方法体的方法),也只能存放抽象方法
接口可以用来定义一个类的结构,当类继承接口时,类要有接口中的属性,并实现接口中的方法;限制一个实例对象的接口,当实例对象只有包含接口中的属性和方法时,这个对象才是合法的。
语法:
用关键字interface去声明一个接口
用关键字implements实现一个接口
interface 接口名{
属性;
// 抽象方法,不需实现
方法名();
}
class 类名 implements 接口名{
}
下面用一个例子说明如何一个类如何实现接口,以及当接口成为一种声明类型时,是如何使用的。
// 定义一个接口
interface StudentInterface{
name;
say(msg:string):void
}
//类对接口实现
class Student implements StudentInterface{
name;
say(msg:string):void{
console.log('我的名字是' + this.name +','+msg);
}
constructor(name){
this.name=name
}
}
let student1 = new Student('zhangsan')
student1.say("111")
// 对象对接口的实现:把接口当作类型去声明对象
//字面量形式创建对象,必须拥有接口的属性和方法
let student2:StudentInterface={
name:"lisi",
say(msg):void{
console.log("我的名字是"+this.name+","+msg);
}
}
student2.say('你好')
复杂类型的对象实现接口