原文链接: js 继承中 同名方法的调用问题
上一篇: sharp 去除图片边框
下一篇: vite + vue3 + jsx + ts 配置一个小项目
和java中类似, 父类可以先使用一个空方法定义内容, 在子类中填充后再调用, 比如排序, 具体的比较可以在父类中使用简单比较, 但是可以在子类中复写, 也就是父类定义逻辑, 子类做具体实现
涉及到原型链
子类调用父类方法时this的指向是子类实例, 所以会从原型链中从上到下找, 第一个找到的就是子类重写后的函数
class A {
constructor(name) {
this.name = name
}
say() {
console.log("A say", this.name)
}
walk() {
console.log("A walk", this.name)
this.say()
}
}
class B extends A {
constructor(name) {
super(name)
}
say() {
console.log("B say", this.name)
}
}
const b = new B('b')
b.walk()