typescript--4 类的介绍

202 阅读2分钟

在开始,先介绍下类当中涉及到的知识点

  • 类的定义
  • 类的构造函数
  • 类的继承
  • 类中的静态属性和方法
  • super 的使用
  • 抽象类的使用

类的定义

下面是类的定义格式

class 类名{
    属性名:类型;  // 实例属性  可读可写  添加 readonly 后只能读不能写
    constructor(参数:类型) {
        this.属性名 = 参数
    }
    方法名(){
        实例方法  在方法前面添加static 表示静态类方法
    }
    static age:number=10 // 类的静态属性
}

构造函数

constructor 是类的构造函数, 在构造函数中的 this 指向实例。通过this 向新建的对象中添加属性

类的继承--extends

class1 extends2 {
    使类1 继承 类2
}
  1. 继承后子类拥有父类的所有属性和方法
  2. 通过继承的方式,将共有方法都写到父类中
  3. 如果在子类中添加父类中没有的方法,直接添加就好
  4. 如果子类中添加了父类中相同的方法,子类会覆盖掉父类方法,相当于重写

类中使用--super

在上面写到的继承中。如果在子类中写了构造函数,会覆盖掉父类的构造函数。所以需要手动调用父类的构造函数。调用的方法如下

// 子类的中构造函数中必须使用super 来调用父类的构造函数
constructor(参数) {
    super(参数)
}

同样的道理。在继承中,如果重写了父类的方法。 那么父类的方法还要继续执行的情况下,也调用 super,比如下面例子

sayHello() {
    super.sayHello()  // 表示调用当前类的父类 该方法
}

抽象类

以abstract 开头创建的类是抽象类他的特点是不能用于创建对象,是专门用来给别人继承的。 抽象类中可以添加抽象方法 abstract sayHello():void 抽象方法的特点如下

  1. 使用abstract 开头
  2. 没有方法体
  3. 抽象方法只能定义在抽象类中
  4. 子类必须对抽象方法进行重写