我正在研究一個使用Canvas
對象的項目。我想添加一些功能來操作它們。什麼時候應該通過實用程序類使用繼承?
到現在爲止,我在CanvasUtils
類中添加了它們,但現在我意識到我實際上可以創建一個CustomCanvas
類,它將繼承Canvas
並實現新的功能。
我能感覺到第二種方式更直觀,但我不確定它是否是最佳選擇。例如,如果我不斷向類添加新方法,它在某些時候會變得很大,而我可以輕鬆地將一個utils類分成幾個類。
另外一個Utils
類聽起來更獨立,可擴展給我。例如,如果我想將某些功能擴展到Panel
對象(Canvas
繼承自Panel
),我認爲使用Utils
類更容易,因爲您只需將Canvas
引用更改爲Panel
即可。
我的問題是:
- 什麼優勢和每種方法的缺陷和
- 當我應該使用一個比另一個?
總是很難談論設計。有人知道這一點 - 在很多情況下 - 通過* trail-and-error * ... – 2015-03-31 09:39:48
我意識到這一點。但是如果你可以利用別人的經驗,那就比不斷重新發明自己的輪子要好。 :) – user3240131 2015-03-31 13:17:07