在上篇博客中总结了六种继承方式,这里我们主要说一下寄生组合式继承的实现。
寄生组合式继承方式是目前使用最为广泛的一种继承方式。
function Person(name, age) {
this.name = name
this.age = age
}
Person.prototype.sayName = function () {
console.log("大家好," + this.name)
}
function Student(name, age, score) {
Person.call(this, name, age)
this.score = score
}
Student.prototype = Object.create(Person.prototype)
Student.prototype.sayScore = function () {
console.log("我的分数是" + this.score)
}
let stu1 = new Student("张三", 20, 100)
stu1.sayScore()
stu1.sayName()
寄生组合式继承方式:寄生组合式继承解决了组合式继承的父类构造函数调用两次,
导致的基类的原型对象上的多余属性的问题。