zoukankan      html  css  js  c++  java
  • typeScript入门(三)接口

     
    接口我感觉是很常用的一块
    定义标准:
    接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。 typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。
    1)属性类接口
    举个例子分析下
    interface FullName{
      firstName:string; 
      secondName?:string;
    }
    function printName(name:FullName){
      console.log(name.firstName+'--'+name.secondName);
    }
    var obj={
      age:20,
      firstName:'张',
      secondName:'三'
    };
    printName(obj);
    注意点如下
    一。定义接口用分号(;)隔开。
    二。接口内的属性可以用?来表示这个接口可以不传
    三。当函数调用时,参数不可直接写用对象,ts会报错有未知属性,需像上文一样先赋值给一个值,函数再调用的时候传这个值。
    2)函数类接口
    对方法传入的参数 以及返回值进行约束
    interface encrypt{
       (key:string,value:string):string;
    }
    var md5:encrypt=function(key:string,value:string):string{
      return key+'----'+value;
    }
    console.log(md5('name','zhangsan'));
    3)可索引接口
    对数组的约束
    interface UserArr{
      [index:number]:string
    }
    对对象的约束
     interface UserObj{
       [index:string]:string
     }
    其实可以看出来区别就是数组下标时number,但是对象下标就是string。
    4)类类型接口
    对类的约束 和 抽象类抽象有点相似
    interface Animal{
      name:string;
      eat(str:string):void;
    }
    class Dog implements Animal{
      name:string;
      constructor(name:string){
        this.name=name;
      }
      eat(){
        console.log(this.name+'吃粮食')
      }
    }
    注意点如下:
    一。在interface内的所有属性或者方法,必须在实现的类中有。
    二。interface是类实现接口的方法。
    5)接口的拓展
    接口可以继承接口,用extends实现。
    一个类既可以继承(extends)一个类,也可以顺便实现(interface)一个接口。 
  • 相关阅读:
    Android App Bundle 使用指南
    Homebrew国内源
    Mac下配置环境变量不生效问题
    CocosCreator1.x配置打包Android App Bundle
    Android读取Json文件的工具类
    Cocos Creator 坐标转换
    XCode真机调试不了,提示"Please reconnect the device"
    Canvas: trying to draw too large(134374464bytes) bitmap.
    Modbus主从关系几点记录
    当前时间加上几天
  • 原文地址:https://www.cnblogs.com/tzzf/p/9762754.html
Copyright © 2011-2022 走看看