當前位置:編程學習大全網 - 源碼破解 - 裏氏代換原則

裏氏代換原則

在面向對象的程序設計中,裏氏替換原則(Liskov Substitution principle)是對子類型的特別定義。它由芭芭拉·利斯科夫(Barbara Liskov)在1987年在壹次會議上名為“數據的抽象與層次”的演說中首先提出。

裏氏代換原則:任何基類可以出現的地方,子類壹定可以出現。通俗理解:子類可以擴展父類的功能,但不能改變父類原有的功能。換句話說,子類繼承父類時,除添加新的方法完成新增功能外,盡量不要重寫父類的方法。

如果通過重寫父類的方法來完成新的功能,這樣寫起來雖然簡單,但是整個繼承體系的可復用性會比較差,特別是運用多態比較頻繁時,程序運行出錯的概率會非常大。

例正方形不是長方形。在數學領域裏,正方形毫無疑問是長方形,它是壹個長寬相等的長方形。所以,我們開發的壹個與幾何圖形相關的軟件系統,就可以順理成章的讓正方形繼承自長方形。

優點

(1)子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法。

(2)子類可以增加自己特有的方法。

(3)當子類的方法重載父類的方法時,方法的前置條件(即方法的輸入/入參)要比父類方法的輸入參數更寬松。

(4)當子類的方法實現父類的方法時(重寫/重載或實現抽象方法),方法的後置條件(即方法的輸出/返回值)要比父類更嚴格或與父類壹樣。

  • 上一篇:清遠市陽山縣有多少人口
  • 下一篇:求女追男的韓劇
  • copyright 2024編程學習大全網