📜  解释 ES6 中的子类和继承(1)

📅  最后修改于: 2023-12-03 15:41:35.753000             🧑  作者: Mango

解释 ES6 中的子类和继承

在 ES6 中,我们可以使用 class 关键字来定义类。而子类和继承则是面向对象编程中非常重要的概念之一。

子类

子类可以继承父类的属性和方法。我们可以使用 extends 关键字创建子类,其语法如下:

class Child extends Parent {

}

上面的代码中,Child 是子类,Parent 是父类。

继承

子类可以继承父类的属性和方法。我们可以使用 super 对象来调用父类的属性和方法。示例如下:

class Parent {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  introduce() {
    console.log(`My name is ${this.name}, and I am ${this.age} years old.`);
  }
}

class Child extends Parent {
  constructor(name, age, grade) {
    super(name, age);  // 调用父类的构造函数
    this.grade = grade;
  }

  introduce() {
    super.introduce();  // 调用父类的 introduce 方法
    console.log(`I am in grade ${this.grade}.`);
  }
}

const john = new Child('John', 10, 5);
john.introduce();
// output: My name is John, and I am 10 years old.
//         I am in grade 5.

在上面的例子中,Child 类继承了 Parent 类,并且重写了 introduce 方法。在 Child 类的构造函数中,我们使用了 super(name, age) 来调用父类的构造函数以设置 nameage 属性,并使用 this.grade = grade 来设置 grade 属性。

Child 类的 introduce 方法中,我们首先调用了父类的 introduce 方法,然后输出了该类的 grade 属性。

总结

子类和继承是 ES6 中非常重要的概念之一。通过继承,子类可以继承父类的属性和方法,达到代码重用的效果。同时,通过重写父类的方法,子类还可以改变父类方法的行为。