多重继承ES6

时间:2018-08-19 11:45:48

标签: javascript ecmascript-6 multiple-inheritance

我正在创建一个游戏,为此,我创建了几个可以在服务器端和客户端使用的基类,例如Troop和Infantry(扩展了Troop)。步兵类实现了诸如isInfantry之类的方法。

要创建客户端渲染,我创建了一个名为TroopClient的类,该类扩展了Troop并在其属性中添加了一个sprite和移动该sprite的方法。之后,我创建了扩展TroopClient的InfantryClient。现在,此InfantryClient具有sprites属性和方法,但并没有实现Infantry方法。

我已经研究了混合方法,但是没有找到关于ES6类的好文章,而且我不知道我的方法是否正确。

我正在寻找有关此问题的一些见解,以及如何使用混合ins(如果是一种好方法)来做到这一点(有一些解释)。

2 个答案:

答案 0 :(得分:1)

ES6或任何其他ES / JS版本不支持多重继承或混合。由于它是一种动态类型的语言,因此您可以模仿这种行为,但这会带来一些限制和不利之处。您可能需要检查一些examples online的解决方法。

答案 1 :(得分:0)

这是我用来允许JS中多重继承的解决方法。虽然您的里程可能会有所不同。

$_array_1 = array( a, b, c );

$_array_2 = array( 1, 2, 3, 4, 5, 6 );

$_merged_array = array( c, 1, a, 2, 3, 4, 5, b, 6 );