举例说明你对es6的extends的理解

35 阅读1分钟

"ES6的extends关键字用于创建一个类的子类,实现了面向对象编程中的继承概念。子类可以继承父类的属性和方法,并且可以拓展自己的属性和方法。在子类中可以通过super关键字调用父类的构造函数和方法。

class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // 调用父类的构造函数
    this.breed = breed;
  }

  speak() {
    console.log(`${this.name} barks.`);
  }

  displayBreed() {
    console.log(`${this.name} is a ${this.breed}.`);
  }
}

const dog = new Dog('Buddy', 'Golden Retriever');
dog.speak(); // 输出: Buddy barks.
dog.displayBreed(); // 输出: Buddy is a Golden Retriever.

在上面的示例中,Dog类是Animal类的子类,通过extends关键字实现了继承。子类Dog拥有自己的构造函数,同时通过super关键字调用了父类Animal的构造函数。子类中重写了父类的speak方法,并且添加了displayBreed方法来展示狗的品种。

继承使得代码更易于维护和扩展,同时遵循了面向对象编程的原则。ES6的extendssuper关键字让JavaScript的类编程更加灵活和强大,使得开发者可以更好地组织和管理代码。 继承使得代码更易于维护和扩展,同时遵循了面向对象编程的原则。 ES6的extendssuper关键字让JavaScript的类编程更加灵活和强大,使得开发者可以更好地组织和管理代码。"