javascript - JavaScript 中的多重继承

标签 javascript inheritance prototype

为什么这种类型的继承在 JavaScript 中不起作用。有什么方法可以执行此步骤。 请帮忙

function base() {}
base.prototype.findFirst = function() {
    console.log("FindMe First");
}

function base2() {}
base2.prototype.findMe = function() {
    console.log("FindMe ");
}

function inherit() {
    base.call(this);
    base2.call(this);
}

inherit.prototype = base.prototype;
inherit.prototype.constructor = inherit;
inherit.prototype = base2.prototype;
inherit.prototype.constructor = inherit;

var test = inherit();
test.findFirst();
test.findMe();

最佳答案

您正在使用base.prototype覆盖原型(prototype),然后使用base2.prototype覆盖原型(prototype)。所以它存储了base2.prtotype,即第二个分配的。现在,如果您创建继承类的实例 var test = new继承();你会看到test有base2.property,即它在test.property.findMe();中有fimeMe()方法。 。 为了实现你的目标,你应该尝试扩展或引用 Mixin Multiple Inheritance

关于javascript - JavaScript 中的多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974977/

相关文章:

javascript - 获取原型(prototype)对象的名称

javascript - 创建所有原型(prototype)函数都可以访问的局部变量

javascript - 单击两次后触发 onClick 函数

javascript - 在 extjs 中显示单选字段

javascript - 在多个 html 页面中使用相同的模态而不重复

javascript - AngularJS:如何将功能拆分为多个 Controller

c# - 如何在父类中调用 EventHandler

inheritance - Swift 语言中的抽象类

c++ - 运行时绑定(bind)和虚拟继承

javascript - 如何创建具有未分配属性的 Javascript 构造函数/原型(prototype)?