設計原則-里氏代換原則

里氏代換原則: 全部引用基類(父類)的地方, 必須能透明地使用其子類的對象..net

里氏代換原則告訴咱們, 在軟件系統中, 將一個基類對象替換成它的子類對象, 程序將不會產生任何錯誤和異常, 反過來則不成立, 若是一個軟件實體使用的是一個子類對象的話, 那麼它必定可以使用基類對象.設計

使用里氏代換原則須要注意的問題:對象

  1. 子類的全部方法必須在父類中聲明, 或子類必須實現父類中聲明的全部方法. 根據里氏代換原則, 爲了保證系統的擴展性, 在程序中一般使用父類來定義, 若是一個方法只存在於子類中, 在父類中不提供相應的聲明, 則沒法在以父類定義的對象中使用該方法.
  2. 咱們在運用里氏代換原則時, 儘可能把父類設計成抽象類或者接口, 讓子類繼承父類或者實現接口, ,並實如今父類中聲明的方法, 運行時, 子類實例替換父類實例, 咱們能夠很方便的擴展系統功能, 同時無需修改原有子類的代碼, 增長新的功能能夠經過增長一個新的子類來實現. 里氏代換原則是開閉原則的具體實現手段之一.

里氏代換原則是開閉原則的具體實現手段之一.blog

廢話那麼多, 說白了里氏代換原則就是多肽嘛, 搞懂了多肽的性質就搞懂了里氏代換原則. 我以爲開發中的多肽就是里氏代換原則的例子, 如出一轍, 徹底符合.繼承

原文在這裏, 這裏寫的更加詳細.接口

Reference: http://blog.csdn.net/lovelion/article/details/7540445開發

相關文章
相關標籤/搜索