我創建具有由不同的節點類型和連接,以及情節可以從節點可以由曲線圖的GUI。添加方法到多個類具有不同的基類
我inheritance tree看起來像這樣:
正如你所看到的,所有的圖形節點和情節是可移動的。繪圖和一些圖形節點可調整大小。現在,我想讓用戶能夠將所有圖形節點組合在一起,這些節點類型稱爲Network
。
所以我想添加一個名爲restrict
所有非劇情類方法,儘管他們有不同的基類的事實。我聽說過
問題
一種方法是use mixins,但他們覺得自己大材小用。有沒有更簡單的方法來添加方法,從不同的基類繼承的類?在這種情況下,我怎樣才能將「組合性與繼承性」放在一起?
我不認爲我應該只加restrict
到Component
,因爲這會創建一個永遠不會被使用的無用方法,這就像一個不好的代碼味道。
我知道我可以使用Interfaces進行多重繼承,但Interfaces不會自動使用參考實現,因此我必須將一堆調用super
複製到每個方法定義中。這感覺就像很多代碼重複。如果實現類沒有提供實現,是否有自動使用接口的參考實現的方法?
混入可能是矯枉過正,你的情況,但它會給你在繼承的組成你提到的,以及沒有超級電話,你也提到。 Typescript現在完全支持mixin。我剛剛完成了實現打字稿混合,他們通過了最初的設置障礙後工作。 mixin會爲您提供您使用'自動'實現所需的那種繼承。 –