接口就是一套规范,当很多的类型具有相同的特征或者属性,我们可以将这些特征属性单独抽离成一个接口,让这些类对接口进行实现

1.class

1.那么一个类实现 某个接口之后,必须对接口中的属性和方法进行重写

  1. interface Animal{
  2. eat():void
  3. run():void
  4. }
  5. class Dog implements Animal{
  6. eat():void{
  7. console.log('骨头');
  8. }
  9. run():void{
  10. console.log('狗跑步');
  11. }
  12. }

2.属性接口

tips:对方法的参数的约束

1.类普通封装

  1. function http(obj:{url:string,method:string}):void{
  2. console.log(obj);
  3. }
  4. http({url:'top250',method:'get'})

2.属性接口封装

  1. interface Params{
  2. url:string,
  3. method:string,
  4. //?这个属性可以有也可以没有
  5. data?:object
  6. }
  7. function http(data:Params):void{
  8. console.log(data);
  9. }
  10. http({
  11. url:'top250',
  12. method:'get'
  13. })

3.函数类型接口

  1. interface encrypt{
  2. (key:string,value:string):string;
  3. }
  4. var md5:encrypt=function(key:string,value:string):string{
  5. return key+value
  6. }
  7. console.log(md5('key','list'));