zoukankan      html  css  js  c++  java
  • 6.typescript-对象的类型-接口

    在typescript中,用接口(interface)来定义对象的类型。
    和java中的类和接口的关系类似。
    我在java书中看到接口是这样讲的:接口是一组常量和抽象方法的集合,抽象方法不给出方法体,由实现接口的类去实现,它提供方法声明与方法实现相分离的机制,使多个类之间表现出共同的行为能力。 
    意思就是将某一类东西(类)的共同点(属性或方法)抽离出来放在接口(对,这个就是接口)里面,但是这些属性或方法并没有具体的值或方法体,只是进行了声明,告诉别人这是我最基本有的东西。
     
    例如:我现在声明了一个动物接口(首字母大写),这里面有名字、年龄、性别三个属性和一个dream方法,假如这是动物们共有的,先把没有梦想的动物剔除掉(函数这里还没学到,我看了下觉着可能是这么写的,后面再详细讲函数,这里借用下),可以看到这里面只是声明属性和方法,并没有具体的值和方法体,下面来找个动物试验下:
     
    老虎baby,我定义了一个变量tiger,它的类型是Animal,那么此时老虎就有了Animal中的属性和方法,就可以起名字了
     
    现在这个老虎就可以把自己的信息告诉别人了(这里温习下嵌入表达式)
     
    下面来正式的讲解一下typescript 中的接口使用:
    1.接口名称首字母大写
    2.实现接口类型的变量的形状要和接口一致
    (即接口里面有什么,这个变量里面就必须要有什么,不可多不可少,字段名要相同,类型要相同,顺序不要求)
     这里少了sex不可以
     
     
     这里多了age也不可以
     
     
    用方法变量调用的形式看了看,也是不可以的
     
    这样就没问题了
     
    3.它有一些属性类型可以弥补上述2的不可能要求
    (1)可选属性
    在可选的属性字段名后面加一个问号,好像在说:你想不想要我,不要我不写就是了(即可写可不写)
     
    (2)任意属性
         1)[propName:string]表示定义了任意属性取string类型的值(这儿不是太懂)
         
         2)任意属性是可选属性
         
         3)命名随意且不限个数
         
         4)一旦定义了任意属性,那么确定属性和可选属性必须是它的子属性,如下number不是string的子属性
         
     
    (3)只读属性
    这里设置性别为只读的,就是说你在一开始的时候给它定义了,后来你就不能改了,就像是名字可以改,年龄也会变,但是性别可就不能改了(啊~好像也不一定)
     
    还有需要注意的一点是,只读的约束是在第一次给对象赋值的时候,并不是在给只读属性第一次赋值的时候
     
     
  • 相关阅读:
    cookie,sessionStorage,loclaStorage,HTML5应用程序缓存
    网页设计单位 px,em,rem,vm,vh,%
    TCP协议三步挥手与四步挥手
    pycharm --批量注释和缩进
    Linux --编译kernel
    python-- pip 安装提速
    linux --tar: .BUILDINFO: time stamp 2020-08-27 17:25:55 is 68853652.868391065 s in the future .MTREE
    linux --This system is not registered to Red Hat Subscription Management
    Samba --配置Samba 服务
    linux --环境变量配置文件
  • 原文地址:https://www.cnblogs.com/wzy1569178479/p/7357651.html
Copyright © 2011-2022 走看看