首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Java Script的子类中被覆盖的方法中调用超类方法?

在Java Script中,如果一个子类继承了一个父类,并且在子类中覆盖了父类的某个方法,但又想在子类中调用父类被覆盖的方法,可以使用以下方式:

  1. 使用super关键字:在子类中,可以使用super关键字来调用父类的方法。通过super关键字,可以访问父类的属性和方法。在覆盖的方法中,使用super.方法名()来调用父类的方法。

例如,假设有一个父类Parent和一个子类Child,子类覆盖了父类的方法methodA,可以通过以下方式调用父类的方法:

代码语言:javascript
复制
class Parent {
  methodA() {
    console.log("父类的方法A");
  }
}

class Child extends Parent {
  methodA() {
    super.methodA(); // 调用父类的方法
    console.log("子类覆盖的方法A");
  }
}

const child = new Child();
child.methodA();

输出结果为:

代码语言:txt
复制
父类的方法A
子类覆盖的方法A
  1. 使用父类的原型对象:在子类中,可以通过访问父类的原型对象来调用父类的方法。通过父类.prototype.方法名.call(this)来调用父类的方法,其中this指向当前子类的实例。

例如,假设有一个父类Parent和一个子类Child,子类覆盖了父类的方法methodA,可以通过以下方式调用父类的方法:

代码语言:javascript
复制
function Parent() {}

Parent.prototype.methodA = function() {
  console.log("父类的方法A");
};

function Child() {}

Child.prototype.methodA = function() {
  Parent.prototype.methodA.call(this); // 调用父类的方法
  console.log("子类覆盖的方法A");
};

const child = new Child();
child.methodA();

输出结果为:

代码语言:txt
复制
父类的方法A
子类覆盖的方法A

以上是在Java Script中从子类中被覆盖的方法中调用超类方法的两种常用方式。这样可以保留父类方法的功能,并在子类中添加额外的逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券