• TS中接口


    接口:接口是一种定义行为和规范,在程序设计中接口起到限制和规范的作用。接口定义某一批类所需要遵循的规范,接口不关系这些类的内部实现,之规定这些类必须提供某些方法
     
    1.对 对象(复杂类型)进行约束
     1 interface Fullname {
     2   firstName: string;
     3   secondName: string;
     4   flag?: boolean;
     5 }
     6 function printName(name:Fullname) {
     7   console.log(name.firstName);
     8   console.log(name.secondName)
     9 }
    10 printName({firstName:'df',secondName:'dff'})

    2.函数类型接口,对方法传入以及返回值进行约束

    1 interface encrypt {
    2   (key: string, value: string): string;
    3 }
    4 
    5 var stringA: encrypt = function (key, value) {
    6   return key + value;
    7 };
    8 
    9 console.log(stringA("fasdf", "dd"));

    3.可索引接口(定义数组对象)

     1 interface hanleA {
     2   [index:number]:hanleB
     3 }
     4 
     5 interface hanleB {
     6   name: string,
     7   age: number,
     8   flag?: boolean
     9 }
    10 function handleReduce(arr: hanleA) {
    11   console.log(arr)
    12 }
    13 
    14 handleReduce([{name: 'shun', age: 12}, {name: 'enne', age: 12}])
    4.类类型接口 和抽象类有点相似
     1 interface Animal {
     2   name: string;
     3   eat(str:string):void;
     4 }
     5 class Dog implements Animal {
     6   name: string;
     7   constructor(name:string) {
     8     this.name = name
     9   }
    10   eat() {
    11     console.log(this.name + 'eating');
    12   }
    13 }
    14 var dog = new Dog('小狗');
    15 dog.eat();

    5.接口的扩展

     1 interface Animal1 {
     2   eat():void;
     3 }
     4 interface People extends Animal1 { // 接口继承接口
     5   work():void;
     6 }
     7 class web implements People {
     8   constructor() {
     9 
    10   }
    11   eat() {
    12     return 'ddd'
    13   }
    14   work() {
    15     return 'fsaf'
    16   }
    17 }
  • 相关阅读:
    nohup
    wonder vscode plugins
    myhome vscode plugins
    virtural machine eth1
    单片机电子时钟的设计(期末课程设计)
    解决Eclipse中更改HTML页面后,浏览器查看页面无变化
    ASP.NET 中的 Session对象
    windows下mysql数据库导入导出
    TP5.1分表,partition分表实例,根据自增主键水平分表
    PHP操作mysql数据库分表的方法
  • 原文地址:https://www.cnblogs.com/shun1015/p/16015289.html
Copyright © 2020-2023  润新知