2
據說組合比繼承更受歡迎。然而,每一個開源GUI工具包都使用繼承來繪製窗口部件(窗口,標籤,框架,按鈕等)。我檢查了Qt,wxWidgets和GTK +。是否有一個GUI工具包(用任何語言編寫)的示例,它使用組合而不是繼承來分離各種小部件?組合vs繼承和GUI工具包
據說組合比繼承更受歡迎。然而,每一個開源GUI工具包都使用繼承來繪製窗口部件(窗口,標籤,框架,按鈕等)。我檢查了Qt,wxWidgets和GTK +。是否有一個GUI工具包(用任何語言編寫)的示例,它使用組合而不是繼承來分離各種小部件?組合vs繼承和GUI工具包
這些GUI工具包面臨的問題是什麼?
我認爲,它們來自一個常見的Widget基類,以便它們都暴露最小接口。所以你可以編寫可以用於任何SpecializedWidgetType的代碼。我認爲這是一個很好的繼承..
Prefer composition to inheritance ..但不要shoehorn組成,其中繼承是正確的答案。規則/準則總是有例外。
沒問題。我只是好奇,如果有一個例子。我想沒有,你的回答是有道理的。 – 2010-06-17 00:49:11