我真的不知道怎麼說這個問題,所以我會試着用一個例子來解釋它。在不同的類中實現相同的方法
比方說,我有三個GUI類:
- 基面類
- 詳細的表面類
- Sprite類
他們都是相互獨立的,中間沒有繼承他們。 現在我有一個函數「drag()」,它可以讓surface/sprite變成可拖拽的,我想把這個函數作爲它們三個的方法來實現。
因爲它是所有實現完全相同的代碼,所以我覺得它很煩人,笨重和糟糕的做法來重寫代碼。 我到目前爲止唯一想到的就是爲它製作一個安全類,並繼承這個類。但是,這似乎也不是要走的路。
我會非常感謝一些建議。
EDIT
具有稍微不同的設置另一個例子 - 我有以下類:
- BaseSurface
- Dragable
- 可調整
- 事件處理器
只有第一個是獨立的,其他的依賴於第一個(必須被繼承)。 最終用戶應該毫不費力地選擇一個簡單的BaseSurface,一個用於實現可拖動,一個用可調整大小,一個用eventHandler以及任意組合。通過「毫不費力」,我的意思是最終用戶不必製作自定義類並繼承所需的類,並調用某些類共享的適當方法(init,update,...)。
所以我可以做的是爲每個可能的組合做一個類,例如。 「BaseSurfaceDrag」,「BaseSurfaceDragResize」,... 這將很快得到混亂。什麼是另一種更好的方法呢?
做一個父類,並有三個類繼承它正是要走的路。這是類的預期用途。 – TigerhawkT3