接口
// 接口:对行为的 抽象 // 1对class的约束 // 接口定义 interface Iprinter{ //定义一个打印机 Printing(msg:string):string; //传的参是字符串 括号外冒号后边的string表示返回的是字符串 } interface Imessage{ getmsg():string; } // 实现接口Iprinter (implements特定语法) /实现多个接口 class colorpronter implements Iprinter,Imessage{ Printing(msg:string):string{ return "打印"+msg+"成功" } getmsg():string{ return "dell" } } let p1=new colorpronter() let val=p1.Printing('简历') console.log(val) console.log(p1.getmsg()) //1 实现接口 要实现里面的内容 // 2定义接口的时候,只定义声明即可,不包含具体内容 // 2对函数的约束 interface Imyfaction{ //定义接口 (a:string,b:number):boolean; } let fun1:Imyfaction; fun1=function(a:string,b:number):boolean{ return false; } // 3对数组的约束 interface Istuarr{ [index:number]:string; } let arr3:Istuarr; arr3=["aa","11"] console.log(arr3[0]) // 对json的约束 interface Idata{ name:string, age:number, readonly sex?:string// 只读属性 email?:string //可选属性 } function showdata(n:Idata){ // n.sex=11; 会报错应为sex设置的是只读的不能被修改 n.age=11 console.log(JSON.stringify(n)) } showdata({name:'lisy',age:20})