繼承與聚合關(guān)于如何在面向?qū)ο蟮南到y(tǒng)中最好地?cái)U(kuò)展、增強(qiáng)和重用代碼,有兩個(gè)學(xué)派:繼承:通過創(chuàng)建子類來擴(kuò)展類的功能。重寫子類中的超類成員以提供新功能。使方法抽象/虛擬,以便在超類需要特定接口但對其實(shí)現(xiàn)不可知時(shí),強(qiáng)制子類“填充空白”。聚合:通過接受其他類并將它們組合成一個(gè)新類來創(chuàng)建新功能。將公共接口附加到此新類,以便與其他代碼進(jìn)行互操作性。每種方法的好處、成本和后果是什么?還有其他選擇嗎?我看到這場辯論是定期出現(xiàn)的,但我認(rèn)為還沒有人問到堆棧溢出問題(盡管有一些相關(guān)的討論)。谷歌也令人驚訝地缺乏良好的搜索結(jié)果。
繼承與聚合
BIG陽
2019-07-08 15:42:20