如何在javascript中从子类调用父类方法?
如何在javascript中从子类调用父类方法?
我已经花了几个小时试图找到解决方案,但似乎是无望的。
基本上,我需要知道如何从子类中调用父类的方法。
到目前为止,我尝试的所有方法要么不起作用,要么会覆盖父类的方法。
我正在使用以下代码来设置JavaScript中的面向对象编程:
// 设置OOP
// 伪构造函数(空函数)
function surrogateCtor() {}
function extend(base, sub) {
// 将原型从基类复制到子类以设置继承
surrogateCtor.prototype = base.prototype;
sub.prototype = new surrogateCtor();
sub.prototype.constructor = sub;
}
// 父类
function ParentObject(name) {
this.name = name;
}
// 父类的方法
ParentObject.prototype = {
myMethod: function(arg) {
this.name = arg;
}
}
// 子类
function ChildObject(name) {
// 调用父类的构造函数
ParentObject.call(this, name);
this.myMethod = function(arg) {
// 在这里如何调用父类的方法?
// 做一些事情
}
}
// 设置原型链
extend(ParentObject, ChildObject);
我需要先调用父类的方法,然后在子类中添加一些其他内容。
在大多数面向对象的编程语言中,这只需要简单地调用parent.myMethod()
但是我真的无法理解如何在JavaScript中实现。
非常感谢您的帮助!谢谢!