沈阳做网站 0诚金网络专业,网站设计与制作优点,wordpress自建会员,视频会议系统直播聊天网站开发1、简介 接口是一系列抽象方法的声明#xff0c;是一些方法特征的集合#xff0c;这些方法都应该是抽象的#xff0c;需要有由具体的类去实现#xff0c;然后第三方就可以通过这组抽象方法调用#xff0c;让具体的类执行具体的方法。 2、接口的定义
interface interface_…
1、简介 接口是一系列抽象方法的声明是一些方法特征的集合这些方法都应该是抽象的需要有由具体的类去实现然后第三方就可以通过这组抽象方法调用让具体的类执行具体的方法。 2、接口的定义
interface interface_name {
}实例
interface IPerson { firstName:string, lastName:string, sayHi: ()string
} var customer:IPerson { firstName:Tom,lastName:Hanks, sayHi: ():string {return Hi there}
} console.log(Customer 对象 )
console.log(customer.firstName)
console.log(customer.lastName)
console.log(customer.sayHi()) var employee:IPerson { firstName:Jim,lastName:Blakes, sayHi: ():string {return Hello!!!}
} console.log(Employee 对象 )
console.log(employee.firstName)
console.log(employee.lastName)
执行结果
Customer 对象TomHanksHi thereEmployee 对象JimBlakes
以上实例我们定义一个接口Iperson接着定义了一个变量customer它的类型是IOperson。
Customer实现了接口Ioperson的属性和方法。
注意接口不能JavaScript它知识TypeScript的一部分。 3、联合类型和接口
实例
interface RunOptions { program:string; commandline:string[]|string|(()string);
} // commandline 是字符串
var options:RunOptions {program:test1,commandline:Hello};
console.log(options.commandline) // commandline 是字符串数组
options {program:test1,commandline:[Hello,World]};
console.log(options.commandline[0]);
console.log(options.commandline[1]); // commandline 是一个函数表达式
options {program:test1,commandline:(){return **Hello World**;}}; var fn:any options.commandline;
console.log(fn());
执行结果
Hello
Hello
World
**Hello World**4、接口继承
接口继承就是说接口可以通过其他接口来扩展自己。
Typescript 允许接口继承多个接口。
继承使用关键字 extends。
单接口继承语法格式
Child_interface_name extends super_interface_name
多接口继承语法格式
Child_interface_name extends super_interface1_name, super_interface2_name,…,super_interfaceN_name
继承的各个接口使用逗号 , 分隔。
1、单继承实例
interface Person { age:number
} interface Musician extends Person { instrument:string
} var drummer Musician{};
drummer.age 27
drummer.instrument Drums
console.log(年龄: drummer.age)
console.log(喜欢的乐器: drummer.instrument)
执行结果
年龄: 27
喜欢的乐器: Drums
2、多继承实例
interface IParent1 { v1:number
} interface IParent2 { v2:number
} interface Child extends IParent1, IParent2 { }
var Iobj:Child { v1:12, v2:23}
console.log(value 1: Iobj.v1 value 2: Iobj.v2)执行结果
value 1: 12 value 2: 23