当前位置:   article > 正文

js 继承中 同名方法的调用问题

js extend 方法名相同

原文链接: js 继承中 同名方法的调用问题

上一篇: sharp 去除图片边框

下一篇: vite + vue3 + jsx + ts 配置一个小项目

和java中类似, 父类可以先使用一个空方法定义内容, 在子类中填充后再调用, 比如排序, 具体的比较可以在父类中使用简单比较, 但是可以在子类中复写, 也就是父类定义逻辑, 子类做具体实现

涉及到原型链

子类调用父类方法时this的指向是子类实例, 所以会从原型链中从上到下找, 第一个找到的就是子类重写后的函数

up-f797f0249cb27649ee158973d36e4d765ef.png

  1. class A {
  2. constructor(name) {
  3. this.name = name
  4. }
  5. say() {
  6. console.log("A say", this.name)
  7. }
  8. walk() {
  9. console.log("A walk", this.name)
  10. this.say()
  11. }
  12. }
  13. class B extends A {
  14. constructor(name) {
  15. super(name)
  16. }
  17. say() {
  18. console.log("B say", this.name)
  19. }
  20. }
  21. const b = new B('b')
  22. b.walk()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/63520
推荐阅读
相关标签
  

闽ICP备14008679号