2011-03-29 81 views
3

这两种类型的继承的例子代码在这里:在JavaScript中寄生组合继承和组合继承有什么区别?

寄生组合继承:http://jsfiddle.net/dKKaS/

组合继承:http://jsfiddle.net/XZn3A/

有人能告诉我有什么区别?谢谢。

+0

这真是太神奇了......如果你去google.com搜索“寄生组合继承”,这篇文章出现#1,它刚刚发布15分钟前.... – 2011-03-29 03:11:23

+0

一个区别是,这两种类型的寄生虫构造函数都是不同的,但对于一般来说,它们最终都是'SuperType' ......除此之外我不确定。 – mVChr 2011-03-29 03:54:32

+8

当您询问有关书籍的问题时,请提供有关工作的信息。它可以帮助人们帮助你,并正确地归属代码。在这种情况下,这些示例来自Nicholas C. Zakas(Wrox,2009)的* Professional Web for Developers,Second Edition *。第一个例子是第179-180页,第二个例子在第176-177页。 – Dori 2011-03-30 23:37:41

回答

2

答案是,在寄生组合继承中,基础构造函数只被调用一次。通过组合继承,构造函数被调用两次。

+0

是否有任何特殊的原因或用法来调用构造函数两次? – Blake 2014-04-20 19:11:04

+0

@Blake ...没有理由两次调用构造函数。这实际上是问题寄生组合继承解决。 – nonybrighto 2016-09-11 15:46:28