对象如何从javascript中的多个父项继承?
我想我会这样做:Fruit.prototype = new Plant ();
Fruit.prototype = new anotherPlant ();
但是Fruit的原型属性(原型对象)将被设置为什么?它仍然是Fruit原始Parent构造函数的原始Parent.prototype吗?
答案 0 :(得分:1)
你做不到。事实上,没有多少语言支持多重继承。
您所做的就是将prototype
Fruit
设置为Plant
的实例,然后覆盖,其实例为{{1} }}。它与简单相同;
anotherPlant
但是,不要忘记JavaScript有一个继承链。使用上述内容,如果Fruit.prototype = new anotherPlant ();
原型为anotherPlant
,则您将继承这两个对象。
Plant
JavaScript对大多数其他语言的继承方式不同;它使用原型继承,这意味着语言通过遵循用于创建的函数的构造函数的function Plant() {
}
Plant.prototype.foo = 'foo';
Plant.prototype.baz = 'baz-a';
function AnotherPlant() {
}
AnotherPlant.prototype = new Plant();
AnotherPlant.prototype.bar = 'bar';
AnotherPlant.prototype.baz = 'baz-b';
var a = new AnotherPlant();
console.log(a.foo); // foo
console.log(a.bar); // bar
console.log(a.baz); // baz-b
属性来确定函数的继承链(类,如果这样更容易)实例