爲什麼不推薦使用繼承?
雖然繼承可以解決代碼複用問題,但繼承層次過深、過複雜,也會影響到代碼的可維護性。
組合相比繼承的優勢
如果繼承出現了以上問題,我們可以利用組合、接口、委託三個技術手段來解決該問題。
組合和繼承的選擇
如果繼承結構穩定(不輕易改變),且層次比較淺(比如,最多有兩層繼承關係),關係不復雜,就可以使用繼承。反之,建議使用組合來替代繼承。
雖然繼承可以解決代碼複用問題,但繼承層次過深、過複雜,也會影響到代碼的可維護性。
如果繼承出現了以上問題,我們可以利用組合、接口、委託三個技術手段來解決該問題。
如果繼承結構穩定(不輕易改變),且層次比較淺(比如,最多有兩層繼承關係),關係不復雜,就可以使用繼承。反之,建議使用組合來替代繼承。
https://www.bilibili.com/video/BV1k8411575T/?vd_source=d68ed178f151e80fea1e02efd205802c