C 物件導向設計原則 二 黎克特制替換原則

2021-10-25 03:18:42 字數 614 閱讀 4129

一、黎克特制替換原則的定義:

1.繼承必須確保超類所擁有的的性質在子類中依然成立

2.主要闡述了什麼時候應該使用繼承,什麼時候不應該使用繼承

二、黎克特制替換原則的作用:

1.黎克特制替換原則是實現開閉原則的重要方式之一

2.它克服了繼承中重寫父類造成的可復用性差的缺點

3.它是動作正確性的保證。即類的擴充套件不會給已有的系統引入新的錯誤,降低了**出錯的可能性。

4.加強程式的健壯性,同時變更時可以做到非常好的相容性,提高程式的維護性、可擴充套件性,降低需求變更時引入的風險。

三、黎克特制替換原則的實現方式:

1.子類可以擴充套件父類的功能,但不能改變父類原有的功能。也就是說:子類繼承父類時,除了新增新的方法完成新增功能外,盡量不要重寫父類的方法。

2.如果程式違背了黎克特制替換原則,則繼承類的物件在基類出現的地方會出現執行錯誤。這時其修正方法是:取消原來的繼承關係,重新設計它們之間的關係。

設計原則2 黎克特制替換原則

1.通俗來說,子類可以擴充套件父類的功能,但是不能改變父類原有的功能。2.在程式中將乙個父類物件替換成子類物件,程式將不會產生任何錯誤和異常,反過來不成立。3.它是實現開閉原則的重要方式之一,由於使用基類物件的地方都可以使用子類物件,程式中盡量使用父類型別來定義物件,執行時再確立子類型別,用子類物件...

設計模式筆記(二)設計六大原則之二 黎克特制替換原則

黎克特制替換原則 liskosubstitution principle lsp 只要父類出現的地方,子類就可以出現,而且替換為子類也不會有任何錯誤或異常,使用者可能根本不需要知道是父類還是子類。但是反過來就不行了,有子類出現的地方,父類未必能夠適應。1.因為黎克特制替換要求,父類出現的地方子類一定...

設計模式六大原則之二 黎克特制替換

肯定有不少人跟我剛看到這項原則的時候一樣,對這個原則的名字充滿疑惑。其實原因就是這項原則最早是在1988年,由麻省理工學院的一位姓裡的女士 barbara liskov 提出來的。定義1 如果對每乙個型別為 t1的物件 o1,都有型別為 t2 的物件o2,使得以 t1定義的所有程式 p 在所有的物件...