在开始,先介绍下类当中涉及到的知识点
- 类的定义
- 类的构造函数
- 类的继承
- 类中的静态属性和方法
- super 的使用
- 抽象类的使用
类的定义
下面是类的定义格式
class 类名{
属性名:类型; // 实例属性 可读可写 添加 readonly 后只能读不能写
constructor(参数:类型) {
this.属性名 = 参数
}
方法名(){
实例方法 在方法前面添加static 表示静态类方法
}
static age:number=10 // 类的静态属性
}
构造函数
constructor 是类的构造函数, 在构造函数中的 this 指向实例。通过this 向新建的对象中添加属性
类的继承--extends
class 类1 extends 类2 {
使类1 继承 类2
}
- 继承后子类拥有父类的所有属性和方法
- 通过继承的方式,将共有方法都写到父类中
- 如果在子类中添加父类中没有的方法,直接添加就好
- 如果子类中添加了父类中相同的方法,子类会覆盖掉父类方法,相当于重写
类中使用--super
在上面写到的继承中。如果在子类中写了构造函数,会覆盖掉父类的构造函数。所以需要手动调用父类的构造函数。调用的方法如下
// 子类的中构造函数中必须使用super 来调用父类的构造函数
constructor(参数) {
super(参数)
}
同样的道理。在继承中,如果重写了父类的方法。 那么父类的方法还要继续执行的情况下,也调用 super,比如下面例子
sayHello() {
super.sayHello() // 表示调用当前类的父类 该方法
}
抽象类
以abstract 开头创建的类是抽象类。 他的特点是不能用于创建对象,是专门用来给别人继承的。 抽象类中可以添加抽象方法 abstract sayHello():void 抽象方法的特点如下
- 使用abstract 开头
- 没有方法体
- 抽象方法只能定义在抽象类中
- 子类必须对抽象方法进行重写