構(gòu)建擴(kuò)展性更好的系統(tǒng)——里氏替換原則

里氏替換原則(SLP)

就不說高大上的學(xué)術(shù)定義了,通俗講,就是只要父類能出現(xiàn)的地方子類就可以出現(xiàn),而且替換為子類也不會產(chǎn)生任何的錯誤或異常,使用者可能根本就不需要知道是父類還是子類。講白了,里氏替換原則的核心原理就是抽象(抽象有依賴于繼承這個特性)。下面我們順便說下繼承的優(yōu)缺點。

繼承的優(yōu)點:

1)代碼重用,減少創(chuàng)建類的成本,每個子類都擁有父類的所有方法和屬性。

2)子類與父類基本相似,但又與父類有所區(qū)別

3)提高代碼的可擴(kuò)展性

繼承的缺點:

1)繼承是侵入式的,只要繼承必須擁有父類的所有屬性和方法

2)可能造成子類代碼冗余、靈活性降低,因為子類必須擁有父類的屬性和方法

里氏替換原則和開閉原則往往是生死相依、不離不棄的,通過里氏替換來達(dá)到對擴(kuò)展開放,對修改關(guān)閉的效果。

然而,這兩個原則都同時強(qiáng)調(diào)了一個OOP的重要特性——抽象

因此,在開發(fā)過程中運用抽象是走向代碼優(yōu)化的重要一步。




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容