設計模式(3)

2021-09-27 06:35:00 字數 536 閱讀 7260

oo 中的繼承性思考和說明中的繼承性思考和說明

繼承包含這樣一層義:父類中凡是已經實現好的方法, 實際上是在設定規範和契約,雖然它不強制要求所有的子類必須遵循這些契但是如果對些已經實現的方法任意修改,就會對整個繼承體系造成破壞

繼承在給程式設計帶來便利的同時,也帶來了弊端。比如使用繼承會給程式侵入性,程式的可移植降低增加物件間耦合如果乙個類被其他所繼承則當這個類需要修改時,必須考慮到所有的子並且父後涉及類的功能都有可產生障礙

問題提出:在程式設計中,如何正確的使用繼承 ? => ? =>黎克特制替換原則

以下的程式違反了裡式替換原則

public

class

liskov

}// a類

classa}

// b類繼承了a

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

class

bextends

apublic

intfunc2

(int a,

int b)

}

設計模式(3) 工廠設計模式

1.概述 定義乙個用於建立物件的工廠介面,讓工廠子類決定將哪乙個產品類例項化。此模式讓乙個產品類的例項化延遲到工廠子類。2.實現 先定義乙個抽象產品類,包含產品類的公共 再定義乙個抽象工廠類,用乙個方法返回乙個具體的產品類 分別實現具體的產品類,和對應的具體工廠類 3.抽象產品類 internal ...

設計模式(3)

命令模式 將 請求 封裝成物件,以便使用不同的請求 佇列 日誌來引數化其他物件。命令模式也支援可撤銷的操作。1 將動作的請求者從動作的執行者物件中解耦出來。2 在被解耦的兩者之間是通過命令物件進行溝通的,命令物件封裝了接收者和乙個或一組動作。3 呼叫者通過呼叫命令物件的execute 發出請求,這會...

設計模式3

size large 設計模式3 介面卡模式 介面卡模式就是將兩個不相容的類糾合在一起使用,它需要有被適配者和介面卡兩個身份,由於介面卡類是源的乙個子類,因此可以在介面卡中置換掉源的一些方法。例如windows作業系統中的快捷方式,其實就是乙個介面卡的例子。下面關於介面卡模式的應用 先定義乙個介面 ...