1.接口的创建,示例如下
interface labelValue{
label:string;
}
//创建函数对接口进行调用
function printLabel(labelObj:labelValue){
console.log(labelObj.label);
}
//创建对象
var myObj={label:"come on"};
//调用函数
printLabel(myObj)
2.接口的可选属性特性,示例如下
interface USB{
name?:string;
age?:number;
}
function printUSB(pu:USB){
console.log(pu.name);
console.log(pu.age);
}
var me={name:'jason'};
printUSB(me);
3.用接口来描述函数类型,示例如下
interface SearchFun{
(source:string,subString:string):boolean;
}
var mySearch:SearchFun;
mySearch=function(src:string,sub:string){
var result=src.search(sub);
if(result!=-1){
return true;
}else{
return false;
}
}
4.用接口来描述数组类型,示例如下
interface StringArray{
[index:number]:string;
}
var myArray:StringArray=['jason','john'];
console.log(myArray);
5.子类实现接口,示例如下
interface ClockInterface{
currentTime:Date;
setTime(day:Date);
}
class Clock implements ClockInterface{
currentTime:Date;
setTime(day:Date){
this.currentTime=day;
}
constructor(hour:number,minute:number){
}
}
6.接口的继承,与java不同的是可实现多继承,示例如下
interface Shape{
color:string;
}
interface PenStroke{
penWidth:number;
}
interface Square extends Shape,PenStroke{
sideLength:number;
}
var s=<Square>{}
s.color="blue";
s.penWidth=10;
s.sideLength=10;
7.接口的混合类型特点,示例如下
interface Counter{
interval:number;
reset():void;
(start:number):string;
}
var c:Counter;
c.interval;
c.reset();
c(10);