zoukankan      html  css  js  c++  java
  • 接口的讲解

    接口

    接口:可以描述类的一部分抽象行为, 也可以描述数据的结构形状
    接口一般首字母大写,
    

    接口中 可以定义为 强制约束 可选属性 只读属性 任意属性

    # 强制约束
    
    // 定义接口  
    interface Instate {
    name: string;
    zge: number;
    }
    
    // obj1 满足接口所描述的数据结构的类型
    // 并且里面的字段是不能够少的哈。否则会报错的哟
    var obj1: Instate;
    
    // 接口数据
    obj1 = {
    name: "张三",
    zge: 4
    };
    
    console.log(obj1);
    

    可选属性

    
    // 定义接口
    interface Instate {
    name: string;
    zge?: number; //这个字段可有可无
    }
    
    // obj1 满足接口所描述的数据结构的类型
    // 并且里面的字段是不能够少的哈。否则会报错的哟
    var obj1: Instate;
    
    // 接口数据
    obj1 = {
    name: "张三"
    };
    
    console.log(obj1);
    

    任意属性

    // 定义接口 可以有任意多个字段 方便后面动态添加属性
    ps==》 属性个数不确定的时候, any 必须是任意的类型。 [propN:string]:any,
    
    interface Instate {
    name: string,
    zge?: number,
    [propN:string]:any,
    }
    
    // obj1 满足接口所描述的数据结构的类型
    
    var obj1: Instate;
    
    // 接口数据
    obj1 = {
    name: "张三"
    };
    
    console.log(obj1);
    

    只读属性

    
    // 定义接口 可以有任意多个字段 方便后面动态添加属性
    interface Instate {
    readonly name: string; //只读属性
    zge?: number; //这个属性可以有 可以没有
    [propN: string]: any; //动态添加字段哈
    }
    
    // obj1 满足接口所描述的数据结构的类型
    var obj1: Instate;
    
    // 接口数据
    obj1 = {
    name: "张三"
    };
    
    obj1.name = "张四"; //你修改了 所以会在这里报错的哈
    obj1.zge = 10;
    
    console.log(obj1);
    
  • 相关阅读:
    操作系统学习五部曲
    由实模式进入保护模式
    extends && implements
    <mvc:annotation-driven>
    集合类关系
    Servlet8
    SprigMVC基础测试
    (转载)synchronized代码块
    jetty与tomcat
    输入输出流总结
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/12442830.html
Copyright © 2011-2022 走看看