• TypeScript的函数和类


    一、函数

            定义函数类型:要指定函数参数个数、参数类型和返回值类型。之后指定变量为这个函数类型,此时可以不写函数返回值类型,它会根据返回值自动推断出类型。

            在定义函数类型时,括号中为参数及其类型,多个参数用逗号隔开,括号后使用“=>”指定返回值类型。声明函数时,括号中为参数及其类型,多个参数用逗号隔开,括号后面使用“:”,指定返回值类型。

            定义函数类型除了这种方式,还可以用接口。在前面学过,接口可以描述对象的“形状”,同理也可以描述函数的“形状”。参数有默认参数和可选参数,默认参数直接赋值,可选参数用“?”,可选参数必须写在必选参数后面。

    二、类

            类是现实世界或思维世界中的实体在计算机中的反映,它将数据(属性)以及这些数据上的操作(方法)封装在一起。 面向对象的三大特性:封装、继承、多态。

            1、定义类

            关键字是class,类体中声明类的成员,有字段、构造函数和方法。声明字段时,如果没有初始化,并且也没有在构造函数中也没有赋值,这时就会有报错。所以age提示有错误。声明方法时,有两种方式,一是直接写方法,二是字段式方法。

            2、构造函数(constructor)

            在实例化对象时,构造函数有参数,则要按规定传参,没有参数则不传参。构造函数是用来初始化一些操作以及给对象属性赋值。构造函数中this值为新实例化的对象引用, 常通过"this.字段=值"为新对象的字段赋值。

            3、静态方法

            静态方法是用static修饰的,且只能由类进行访问,实例化后的对象只能访问成员方法。

            4、存取器set和get

            get用于获取变量的值,必须有返回值,set用于对变量进行赋值,必须有一个参数。

            5、继承

            关键字extends,子类继承父类中的属性,一个子类只能有一个父类,一个父类可以有多个子类。子类可以访问从父类直接或间接继承下来的属性。

            6、super

            一个类继承一个父类并且有构造方法,则该子类必须使用super。super必须在this的前面。这是因为用子类实例化对象的过程中,先是创建父类对象,然后在父类对象基础上追加子类成员得到子类对象,然后子类构造函数先执行,子类构造函数中super(<实参>)再调用父类构造函数的执行。

    1. class People {
    2. behavior:string = '睡觉'
    3. age:number
    4. country:string
    5. constructor(type:string,age:number){
    6. this.country= type
    7. this.age = age
    8. }
    9. speak(){
    10. console.log('说话')
    11. }
    12. }
    13. class Chinese extends People{
    14. name:string
    15. constructor(name:string){
    16. super('Chinese',23)
    17. this.name = name
    18. }
    19. }
    20. let chinese = new Chinese('张三')
    21. console.log(chinese)
    22. //Chinese { behavior: '睡觉', country: 'Chinese', age: 23, name: '张三' }

  • 相关阅读:
    SpringBoot与ES7实现多条件搜索
    MySQL数据类型
    tortoiseSVN树冲突解决方案
    antd design 5 版本 文件上传
    普冉PY32系列(十三) SPI驱动WS2812全彩LED
    Node.js 基础学习
    顺序表的实现
    MySQL数据库同时查询更新同一张表的方法
    技术干货 | 数据处理好难?来看MindSpore提供的解决思路!
    Web自动化测试-Selenium语法入门到精通
  • 原文地址:https://blog.csdn.net/gyutdcu/article/details/132626031