1.接口的作用:用来规范代码的规格,不提供方法的实现只提供属性和方法的声明;
语句:interface 接口名{
属性声明;
方法声明;
}
1.基本接口(接口的属性和方法没有什么含义,只是声明让类外或者调用的可以获取到)
interface lv{ label:string;//label?:string;表示可选参数 name:string; //test(); }; function printLv(lvobj:lv) { console.log(lvobj.label) console.log(lvobj.name) } //var str=printLv({label:"zhangsan"}) var str={ label:"123",name:"zhangsi"}//如果说没有属性没有添加?,那么传递的参数接口中的属性相匹配 printLv(str);
2.接口作为数据类型存在
/*interface search{ source:string; subs:string; } var s:search; s = function (s1:string,s2:string){ console.log(s1+s2); }; var sum =s("111","222");*/ 3.接口作为数组类型
/*interface StringArray { [index:string]:string;//[index:string]指所对应的下标 ,储存字符串数组类型 } var myArray:StringArray; myArray=["zhangsan","lisi"]; alert(myArray[0]);*/
4.//类如何引用接口 ,使用implements引用 //接口只能引用不能继承 interface demo { ct:string; st();接口的方法没有方法体; }; class tst implements demo{ ct:string;//重写接口中的属性 name:string; constructor(name:string){ this.name=name; } green(){ console.log(this.name) } st(){//必须重新定义 console.log(4444); } } var gobj=new tst("zhangsan"); gobj.st(); gobj.green();
5.//接口继承接口 interface one { name:string } interface two { books:string } interface three extends one,two{ counts:number; } var s=<three>{};//用接口来声明对象 s.books="三国演义"; s.name="zhamgsan"; s.counts=3; console.log(s.books+"---"+s.name+"---"+s.counts);接口在工作中的意义:接口用来用来声明一组规范代码,从而用来约束同一项目组的同事来分工开发;