接口就是一套规范,当很多的类型具有相同的特征或者属性,我们可以将这些特征属性单独抽离成一个接口,让这些类对接口进行实现
3-1 类接口
1.在一个类实现 某个接口之后,必须对接口中的属性和方法进行重写
interface class Animal{abstract eat():void;}class Cat extends Animal{eat():void{console.log('鱼');}}
interface Animal{eat():voidrun():void}class Dog implements Animal{eat():void{console.log('骨头');}run():void{console.log('狗跑步');}}
3-2 属性接口
tips:对方法的参数的约束
1.类普通封装
function http(obj:{url:string,method:string}):void{console.log(obj);}http({url:'top250',method:'get'})
2.属性接口封装
interface Params{url:string,method:string,//?这个属性可以有也可以没有data?:object}function http(data:Params):void{console.log(data);}http({url:'top250',method:'get'})
3-3 函数类型
interface encrypt{(key:string,value:string):string;}var md5:encrypt=function(key:string,value:string):string{return key+value}console.log(md5('key','list'));
