繼承與聚合關于如何在面向對象的系統中最好地擴展、增強和重用代碼,有兩個學派:繼承:通過創建子類來擴展類的功能。重寫子類中的超類成員以提供新功能。使方法抽象/虛擬,以便在超類需要特定接口但對其實現不可知時,強制子類“填充空白”。聚合:通過接受其他類并將它們組合成一個新類來創建新功能。將公共接口附加到此新類,以便與其他代碼進行互操作性。每種方法的好處、成本和后果是什么?還有其他選擇嗎?我看到這場辯論是定期出現的,但我認為還沒有人問到堆棧溢出問題(盡管有一些相關的討論)。谷歌也令人驚訝地缺乏良好的搜索結果。
添加回答
舉報
0/150
提交
取消
