首頁 > 行業(yè) > 正文

【設(shè)計模式之禪】里氏替換原則

2023-08-16 05:35:27來源:博客園  


(資料圖)

  • 什么叫里氏替換原則?

"這里需要如下的替換性質(zhì):若對類型S的每一個對象O1,都存在一個類型T的對象O2,使得在所有針對T編寫的程序P中,用O1替換O2后,程序P的行為功能不變,則S是T的子類型。"這是最專業(yè)最權(quán)威的定義,但是我當(dāng)時就是看不懂這句話,看完這個章節(jié)也沒有完全理解,只能通俗易懂的來描述:讓子類中的方法參數(shù)或者返回結(jié)果是相同的或者是父類的子集

  • 書中的里氏替換原則

這本書真的寫的特別特別好,能夠讓我這個對計算機(jī)不是很感興趣的人讀的很起勁,原因就是在于他用詞接地氣,并且舉了很多有趣的例子,比如說反恐精英中開槍方法的入?yún)⑹峭婢邩?,雖然是槍的子類,但是沒有滿足業(yè)務(wù)需要,所以子類一定也是可以滿足父類的業(yè)務(wù)需求的,如果子類不能完整地實現(xiàn)父類的方法,或者父類的某些方法在子類中已經(jīng)發(fā)生“畸變”,則建議斷開父子繼承關(guān)系,采用依賴、聚集、組合等關(guān)系代替繼承。

  • 里氏替換原則的優(yōu)勢
    1. 代碼共享,即公共代碼被抽到父類。
    2. 提高代碼重用性,子類在父類的基礎(chǔ)上可以有自己的特性。
    3. 提高代碼的擴(kuò)展性。
  • 里氏替換原則的實際應(yīng)用  

emmmmmmmm,暫時想不到,期待大佬補充,我只想到在做代碼review的時候,不去修改抽象類.........

標(biāo)簽:

相關(guān)閱讀

精彩推薦

相關(guān)詞

推薦閱讀