繼承:通過擴展已有的類來獲得新功能的代碼重用方法
組合:新類由現有類的對象合並而成的類的構造方式
何時用繼承?何時用組合?
1.如果二者間存在一個“是”的關系,並且一個類要對另外一個類公開所有接口,那么繼承是更好的選擇
2.如果二者間存在一個“有”的關系,那么首選組合
ps:
沒有找到極其強烈無法辯駁的使用繼承的利用的時候,一律采用組合
組合體現為現實層面,繼承主要體現在擴展方面
如果並不是需要一個類的所有東西(包括接口和熟悉),那么就不需要使用繼承,使用組合更好
如果使用繼承,那么必須所有的都繼承,如果有的東西你不需要繼承但是你繼承了,那么這就是濫用繼承
