推荐答案
在 ECMAScript 中,可以通过 extends
关键字来实现类的继承。以下是一个简单的示例:
-- -------------------- ---- ------- ----- ------ - ----------------- - --------- - ----- - ------- - ------------------------- ----- - --------- - - ----- --- ------- ------ - ----------------- ------ - ------------ -- --------- ---------- - ------ - ------- - ------------------------- --------- - - ----- --- - --- ---------- ------- ----------- ------------ -- --- --- ------
在这个示例中,Dog
类继承了 Animal
类,并且重写了 speak
方法。
本题详细解读
1. 使用 extends
关键字实现继承
extends
关键字用于创建一个类作为另一个类的子类。子类继承了父类的所有属性和方法。
class Dog extends Animal { // ... }
2. 调用父类的构造函数
在子类的构造函数中,必须调用 super()
来调用父类的构造函数。super()
必须在 this
关键字之前调用,否则会抛出错误。
constructor(name, breed) { super(name); // 调用父类的构造函数 this.breed = breed; }
3. 方法重写
子类可以重写父类的方法。在上面的示例中,Dog
类重写了 Animal
类的 speak
方法。
speak() { console.log(`${this.name} barks.`); }
4. 实例化子类
通过 new
关键字可以实例化子类,并且可以调用子类和父类的方法。
const dog = new Dog('Rex', 'German Shepherd'); dog.speak(); // 输出: Rex barks.
5. 继承链
子类不仅可以继承父类的属性和方法,还可以继承父类的原型链上的属性和方法。
console.log(dog instanceof Animal); // 输出: true console.log(dog instanceof Dog); // 输出: true
通过这种方式,ECMAScript 中的类继承机制使得代码更加模块化和可维护。