首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原型继承和原型属性

原型继承和原型属性
EN

Stack Overflow用户
提问于 2013-11-26 07:07:54
回答 1查看 83关注 0票数 1

在javascript中,一个对象如何从多个父对象继承?

我在想有人会这样做:

代码语言:javascript
复制
Fruit.prototype = new Plant ();
Fruit.prototype = new anotherPlant ();

但是Fruit的prototype属性(prototype对象)将设置为什么呢?它是否仍然是Fruit的原始父构造函数的原始Parent.prototype?

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 07:12:28

事实上,并不是很多语言都支持多重继承。

您所要做的就是将Fruitprototype设置为Plant的一个实例,然后用anotherPlant的一个实例覆盖它。它和simply一样;

代码语言:javascript
复制
Fruit.prototype = new anotherPlant ();

但是,不要忘记JavaScript有一个继承链。使用上述方法,如果anotherPlantPlant作为其原型,那么您将从这两个对象继承。

代码语言: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

JavaScript的继承方式与大多数其他语言不同;它使用原型继承,这意味着该语言通过遵循用于创建实例的构造函数的prototype属性来确定函数(类,如果这样做更容易)的继承链。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20205351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档