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