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

3-1 类接口

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

  1. interface class Animal{
  2. abstract eat():void;
  3. }
  4. class Cat extends Animal{
  5. eat():void{
  6. console.log('鱼');
  7. }
  8. }
  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. }

3-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-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'));