继承(class) 4个月前

编程语言
940
继承(class)

class

ES6引入了新的关键字class, 以便类的定义和继承变得更加清晰

解释几个关键词:

  • extend: 用于建立继承关系
  • super: 子类构造函数中调用父类的构造函数(在上一节有提及)

以一段实例解释class的使用

class Animal {
  constructor(name) {
    this.name = name;
  }
  eat() {
    console.log(this.name + "eating.");
  }
}
 
class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }
 
  bark() {
    console.log(this.name + "barking.");
  }
}
 
const dog = new Dog("taidi", "buma");
dog.eat();
dog.bark();

可以使用 getter 和 setter 两个方法来获取和设置值 getter 和 setter 都需要在严格模式下执行。 类中添加 getter 和 setter 使用的是 getset 关键字。

class SportUtilityCar extends Car {
    constructor(brand, vinNumber, drivetrain) {
        super(brand, vinNumber);
        this.drivetrain = drivetrain;
    }
    carInfo() {
        return {
            brand: this.brand,
            vinNumber: this.vinNumber,
            drivetrain: this.drivetrain
        }
    }
    get drivetrain() {
        return this._drivetrain;
    }
    set drivetrain(newDrivetrain) {
        this._drivetrain = newDrivetrain;
    }
}

class总体来说还是偏向于语法糖, 实际使用情况还是根据个人情况和习惯而定, 并没有本质的区别.

image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2223592
累计阅读

热门教程文档

Redis
14小节
Djiango
17小节
10.x
88小节
Python
76小节
Dart
35小节