我创建具有由不同的节点类型和连接,以及情节可以从节点可以由曲线图的GUI。添加方法到多个类具有不同的基类
我inheritance tree看起来像这样:
正如你所看到的,所有的图形节点和情节是可移动的。绘图和一些图形节点可调整大小。现在,我想让用户能够将所有图形节点组合在一起,这些节点类型称为Network
。
所以我想添加一个名为restrict
所有非剧情类方法,尽管他们有不同的基类的事实。我听说过
问题
一种方法是use mixins,但他们觉得自己大材小用。有没有更简单的方法来添加方法,从不同的基类继承的类?在这种情况下,我怎样才能将“组合性与继承性”放在一起?
我不认为我应该只加restrict
到Component
,因为这会创建一个永远不会被使用的无用方法,这就像一个不好的代码味道。
我知道我可以使用Interfaces进行多重继承,但Interfaces不会自动使用参考实现,因此我必须将一堆调用super
复制到每个方法定义中。这感觉就像很多代码重复。如果实现类没有提供实现,是否有自动使用接口的参考实现的方法?
混入可能是矫枉过正,你的情况,但它会给你在继承的组成你提到的,以及没有超级电话,你也提到。 Typescript现在完全支持mixin。我刚刚完成了实现打字稿混合,他们通过了最初的设置障碍后工作。 mixin会为您提供您使用'自动'实现所需的那种继承。 –