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)只读属性
    这里设置性别为只读的,就是说你在一开始的时候给它定义了,后来你就不能改了,就像是名字可以改,年龄也会变,但是性别可就不能改了(啊~好像也不一定)
     
    还有需要注意的一点是,只读的约束是在第一次给对象赋值的时候,并不是在给只读属性第一次赋值的时候
     
     
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    ddd
  • 原文地址:https://www.cnblogs.com/wzy1569178479/p/7357651.html
Copyright © 2011-2022 走看看