1、開閉原則
2、接口隔離原則
3、依賴倒置原則
4、迪米特原則
5、里氏替換原則
6、單一職責原則
里氏替換原則
什麼是里氏替換原則?
里氏替換原則的定義:任何使用基類的地方,都可以透明的使用其子類。從定義中可以看出,它和繼承差不多,我們也可以這樣理解,里氏替換原則=繼承+透明,也就是繼承的加強版,取其繼承的優點,剔除繼承的缺點。
爲什麼要使用里氏替換原則:
例如,鴕鳥、燕子從生物學的角度來劃分,它們都屬於鳥,但從繼承關係來看,由於它們不能繼承“鳥”會飛的能力,所以它們不能定義成“鳥”的子類。因此如果把鴕鳥和燕子都繼承“鳥”的特性,那麼在程序中繼承類的對象在基類出現的地方就會出現運行錯誤,爲了避免這種錯誤,我們要遵循里氏替換原則:取消原來的繼承關係重新設計它們之間的關係。
怎麼樣纔算遵守裏式替換原則?
父類實現的東西,子類就不要再寫了(就是不要new隱藏);
如果想修改父類的行爲,通過abstract或virtual來修改;
父類有的,子類必須有,如果出現了子類沒有的東西,那麼就應該斷掉繼承,再重新寫一個父類