在 JavaScript 中,可以使用 class 关键字来声明一个类。下面是声明一个类及如何实现继承的示例:
// 声明一个简单的类
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
// 继承 Animal 类的子类
class Dog extends Animal {
constructor(name, breed) {
super(name); // 调用父类的构造函数
this.breed = breed;
}
speak() {
console.log(`${this.name} barks loudly.`);
}
}
// 创建类的实例并调用方法
const myDog = new Dog('Buddy', 'Golden Retriever');
myDog.speak(); // 输出 "Buddy barks loudly."
在上面的示例中,我们首先声明了一个 Animal 类,包含了一个构造函数和一个 speak 方法。然后通过 class Dog extends Animal 来声明一个 Dog 类,表示 Dog 类继承自 Animal 类。在子类的构造函数中,通过 super() 调用父类的构造函数,并可以在子类中重写父类的方法。
通过继承,子类可以复用父类的属性和方法,并且可以添加自己特有的属性和方法。这样可以提高代码的可维护性和可扩展性。
需要注意的是,在子类的构造函数中必须先调用 super(),这样才能正确地初始化父类的属性。另外,如果子类定义了与父类同名的方法,在子类实例调用该方法时会优先调用子类的方法而不是父类的方法(即发生方法覆盖)。