裡式替換原則

2021-10-05 01:11:16 字數 940 閱讀 2877

要點

在子類中盡量不要重寫父類的方法

舊版

public class liskov 

}// a類

class a

}// b類繼承了a

// 增加了乙個新功能:完成兩個數相加,然後和9求和

class b extends a

public int func2(int a, int b)

}

結果

11-3=8

1-8=-7

-----------------------

11-3=14

1-8=9

11+3+9=23

子類重寫父類的方法,例項化子類物件調的方法也是子類的

新版

public class liskov

}//建立乙個更加基礎的基類

class base

// a類

class a extends base

}// b類繼承了a

// 增加了乙個新功能:完成兩個數相加,然後和9求和

class b extends base

public int func2(int a, int b)

//如果b需要使用a類的方法,使用組合關係

private a a = new a();

//我們仍然想使用a的方法

public int func3(int a, int b)

}

繼承使兩個類的耦合性增強,當父類被修改時,可能會影響子類的功能,可以通過聚合、組合、依賴來解決問題。

簡而言之

老子出馬,乙個頂倆

裡式替換原則

以前認為裡式替換原則就是父類的出現的地方子類就能出現,和多型沒有多大的區別,這是錯誤的看法,應該再加上一句,不改變原來程式的邏輯。常見三類違背裡式替換的情況 1 子類違背父類宣告的功能 比如父類某個方法實現的是按照 排序,子類修改為按照時間排序 2 子類違背父類對輸入,輸出,異常的規定 輸入 子類對...

設計原則之里式替換原則

前言 最近降溫很厲害,走在路上呼呼的狂風刮在臉上,讓我無比懷戀家鄉的溫暖。現在要求自己早點休息,所以寫部落格的時間也從午夜變到了上午。今天就來聊一聊裡式替換原則吧 1 裡式替換原則是什麼 關於裡式這次詞語的由來,主要是因為這個原則是以為姓裡的女士提出的,所以叫里式。關於這個原則,在實際開發的時候,就...

裡式替換原則的定義

裡式替換原則主要闡述了繼承的一些原則,也就是什麼時候使用繼承,什麼時候不應該使用繼承,以及其中蘊含的原理。裡式替換原是繼承復用的基礎,它反映了基類與子類之間的關係,是對開閉原則的補充,是對實現抽象化的具體步驟的規範。裡式替換原則的作用 裡式替換原則的主要作用如下 裡式替換原則是實現開閉原則的重要方式...