MST
星途 面试题库

面试题:JavaScript中如何通过构造函数实现继承

请使用构造函数的方式,编写代码实现一个简单的继承结构。假设有一个父类`Animal`,具有`name`属性和`speak`方法,子类`Dog`继承自`Animal`,并新增`bark`方法。要求给出具体代码实现。
12.9万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
// 定义父类Animal
function Animal(name) {
    this.name = name;
}

Animal.prototype.speak = function() {
    console.log(`${this.name} makes a sound.`);
};

// 定义子类Dog
function Dog(name) {
    // 调用父类构造函数,继承name属性
    Animal.call(this, name);
}

// 设置Dog的原型为Animal的实例,实现继承
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

// 新增bark方法
Dog.prototype.bark = function() {
    console.log(`${this.name} barks.`);
};

// 测试代码
const myDog = new Dog('Buddy');
myDog.speak(); 
myDog.bark();