原文:Java設計模式(4:里氏替換原則和合成復用原則詳解

一 里氏替換原則 如果說實現開閉原則的關鍵步驟就是抽象化,那么基類 父類 和子類的繼承關系就是抽象化的具體實現,所以里氏替換原則就是對實現抽象化的具體步驟的規范。即:子類可以擴展基類 父類 的功能,但不能改變父類原有的功能。 定義:一個軟件實體如果適用一個父類的話,那一定是適用於其子類,所有引用父類的地方必須能透明地使用其子類的對象,子類對象能夠替換父類對象,而程序邏輯不變。 里氏替換原則最核心得 ...

2021-06-10 11:10 2 354 推薦指數:

查看詳情

設計模式里氏替換原則

里氏替換原則(Liskov Substitution Principle,簡稱LSP): 子類可以替換父類 繼承有一些優點: 任何基類可以出現的地方,子類一定可以出現。里氏替換原則是繼承復用的基石,只有當衍生類可以替換基類,軟件單位的功能不受到影響時,即基類隨便怎么改動子類都不 ...

Fri Jan 25 00:26:00 CST 2019 3 5392
設計模式里氏替換原則示例

  里氏替換原則強調的是設計和實現要依賴於抽象而非具體;子類只能去擴展基類,而不是隱藏或者覆蓋基類,它包含4層含義. 一、里氏替換4原則   1、子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法   子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法,父類中凡是已經實現好的方法 ...

Fri Mar 27 00:10:00 CST 2020 0 1898
設計模式六大原則里氏替換原則

1 里氏替換原則定義 Liskov於1987年提出了一個關於繼承的原則“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“繼承 ...

Sat May 06 00:03:00 CST 2017 0 1778
設計模式的七大原則(4) --里氏替換原則

前言 上一節中我們介紹了,依賴倒置,依賴倒置利用抽象的穩定性來架構我們的系統,是我們經常能遇到的一種原則,比如說面向接口編程。 這一節中,我們來說說里氏替換原則,這個原則其實非常非常的簡單,其實與依賴倒置相結合來看,就是希望我們用抽象的方法來構建項目而非具體的實現,里氏替換原則就是推薦 ...

Mon Aug 05 21:14:00 CST 2019 1 514
設計模式六大原則里氏替換原則

  OO中繼承的包含一層這樣的含義:父類中凡是已經實現好的方法,實際上是在設定規范的契約,雖然它不強制要求所有的父類遵循這些契約,但是如果子類對這些已經實現的方法任意修改,就會對整個繼承體系造成破壞。   繼承在給程序設計帶來便利的同時,也帶來了弊端。比如使用繼承會給程序帶入侵入性,程序 ...

Sat Mar 21 23:28:00 CST 2020 0 729
設計模式合成復用原則示例

  我們以汽車分類管理程序為例來介紹合成復用原則的應用。   分析:汽車按“動力源”划分可分為汽油汽車、電動汽車等;按“顏色”划分可分為白色汽車、黑色汽車和紅色汽車等。如果同時考慮這兩種分類,其組合就很多。如圖所示是用繼淨:關系實現的汽車分類的類圖。            從圖中可以看出 ...

Fri Mar 27 04:28:00 CST 2020 0 685
Java設計模式——合成/聚合復用原則

一、概念 合成/聚合復用原則是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復用已有功能的目的。 概括:要盡量使用合成/聚合,盡量不要使用繼承。 二、依賴和關聯 依賴是類與類之間的連接,表示一個類依賴於另外一個類的定義。依賴關系僅僅描述 ...

Tue Nov 13 04:51:00 CST 2018 0 1494
設計模式六大原則(2):里氏替換原則

里氏替換原則   前言:今天是3.15,一個特殊的日子。不知道還會曝光出多少家不良企業,更不知道潛藏的未被曝光的企業數量之巨有沒有超出我的想象力。每年都會爆出一些諸如“塑化劑、毒膠囊、問題奶、速成雞”等等新的食品安全關鍵詞,走進餐館,走進食堂,走進超市,還真不知道什么東西敢碰。新 ...

Sat Mar 16 00:14:00 CST 2013 3 6174
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM