我最近看到密新的JavaScript中的概念主要是通過the article Real Mixins with javascript classes。據我所知,這是一種用抽象類進行多重繼承的方式,它更像是一個構成而不是繼承。我也在閱讀有關繼承的概念構成,如the article Composition Over Inheritance。我知道關於繼承和組合的討論可能會很長,但我已經儘可能避免繼承(至少現在是這樣)。如何爲每種類型的繼承使用Mixins?
所以我想用混入像我一樣能與ES6,在大多數的例子我看到像class A extends MixinB(C)
行動三類。如果我只想延長B級呢?我會做一些像class A extends MixinB(Object)
?這可能是Mozilla documentation所述的反模式。
注意,我可以做一個直接的繼承像class A extends B
,但像他這樣B
不是一個混合了,我需要的B
一個不同的聲明,如果我想使用它作爲一個mixin。
「繼承並不總是正確的模式」並不意味着「鞋拔子您學習到每一個您以前使用的繼承發生這一新生事物」。 – Ryan
請注意有JavaScript博客作者完全錯誤的構圖。 https://www.reddit.com/r/programming/comments/5dxq6i/composition_over_inheritance/da8bplv/。 Mixins和多重繼承確實是同一件事,但都不是組合。 –
>這可能是Mozilla文檔所述的反模式。 | 的MDN文檔在談論猴子補丁,這確實是壞的,但猴子補丁是不是有什麼'類extends'一樣。 –