里氏代換原則由2008年圖靈獎得主、美國第一位計算機科學女博士Barbara Liskov教授和卡內基·梅隆大學Jeannette Wing教授於1994年提出。其嚴格表述如下:如果對每一個類型為S的對象o1,都有類型為T的對象o2,使得以T定義的所有程序P在所有的對象o1代換o2時,程序P的行為 ...
問題產生原因: 里氏替換原則:子類對象能夠替換父類對象,而程序邏輯不變,要求子類避免重寫父類方法。 多態存在條件之一:要求子類重寫父類的方法。 問題解釋: LSP 的原定義比較復雜,一般對里氏替換原則 LSP 的解釋為:子類對象能夠替換父類對象,而程序邏輯不變。 這一原則是針對繼承而言的,所以本質上是普遍性與特殊性的關系:普遍性孕育於所有的特殊性中,特殊性違背不了普遍性。普遍性一旦被特殊化就不再是 ...
2020-09-03 09:37 0 516 推薦指數:
里氏代換原則由2008年圖靈獎得主、美國第一位計算機科學女博士Barbara Liskov教授和卡內基·梅隆大學Jeannette Wing教授於1994年提出。其嚴格表述如下:如果對每一個類型為S的對象o1,都有類型為T的對象o2,使得以T定義的所有程序P在所有的對象o1代換o2時,程序P的行為 ...
個人博客原文: 里氏替換原則 設計模式六大原則之二:里氏替換原則。 簡介 姓名 :里氏替換原則 英文名 :Liskov Substitution Principle 座右銘 : If for each object o1 of type S ...
一、定義 (1)、所有使用基類的地方必須能夠使用子類進行替換,而程序的行為不會發生任何變化(替換為子類之后不會產生錯誤或者異常)。 只有這樣,父類才能真正被復用,子類能夠在父類的基礎上增減新的屬性和行為。才能真正的實現多態行為。 (2)、當子類繼承父類的時候,子類就擁有了父類的屬性和行為 ...
問題: 1、繼承的優缺點 2、什么是里氏替換原則 3、里氏替換原則作用 4、里氏替換原則的規范 我的答案: 1、 繼承優點: 代碼的共享 代碼的重用 子類好像父類 提高代碼的可開展性 提高產品和項目的開放性 缺點: 繼承有侵入性 降低了代碼的靈活性 ...
...
我們都知道面向對象有三大特性:封裝、繼承、多態。所以我們在實際開發過程中,子類在繼承父類后,根據多態的特性,可能是圖一時方便,經常任意重寫父類的方法,那么這種方式會大大增加代碼出問題的幾率。比如下面場景:類C實現了某項功能F1。現在需要對功能F1作修改擴展,將功能F1擴展為F,其中F由原有的功能 ...
為何Java中子類重寫方法的訪問權限不能低於父類中權限 因為 向上轉型及Java程序設計維護的原因例:假設一個父類A 擁有的方法public void setXXX(){}可以被其他任意對象調用這個方法被子類B 覆寫后 為void setXXX(){}即默認的訪問權限只能被本包極其子類 所訪問 ...
一、SOLID 設計模式的六大原則有: Single Responsibility Principle:單一職責原則 Open Closed Principle:開閉原則 Liskov Substitution Principle:里氏替換原則 Law ...