模板設計模式

2021-09-12 14:40:14 字數 1964 閱讀 7470

開閉原則(ocp):乙個軟體實體如類、模組和函式應該對擴充套件開放、對修改關閉

模板設計模式是抽象類的乙個實際應用場景

咖啡沖泡法

1.將水煮沸

2.用沸水沖泡咖啡

3.將咖啡倒進杯子

4.加糖和牛奶

茶沖泡法

1.將水煮沸

2.用沸水浸泡茶葉

3.把茶倒進杯子

4.加檸檬

1.沖泡咖啡類

class

coffee

}public

void

boilwater()

public

void

brewcoffee()

public

void

pourincup()

public

void

addsugerandmilk()

2.沖泡茶類

class

teapublic

void

boilwater()

public

void

brewtea()

public

void

pourincup()

public

void

addlemon()

}

在上述中,因為茶和咖啡很相似,所以將他們共同的部分抽取出來,放在乙個基類中

1.將水煮沸

2.用沸水沖泡飲料

3.把飲料倒進杯子

4.在飲料內加入適當的調料

abstract

class

drink

this

.brewdrink()

;//2.沸水沖泡飲料

this

.pourincup()

;//3.倒進杯子if(

this

.isaddother()

)}public

final

void

boilwater()

public

final

void

pourincup()

public

abstract

void

brewdrink()

;public

abstract

void

addother()

;public

boolean

isaddother()

public

boolean

ishotwater()

}class

coffee

extends

drink

public

void

addother()

public

boolean

isaddother()

}class

teaextends

drink

public

void

addother()

public

boolean

isaddother()

public

boolean

ishotwater()

}class

test}/*

1.將水煮沸

2.用沸水沖泡咖啡

3.倒進杯子

4.加入糖和牛奶

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

2.用沸水沖泡茶

3.倒進杯子

4.加入檸檬

*/

模板設計模式 設計模式 模板方法模式

在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...

模板設計模式 設計模式之模板模式

模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...

設計模式 模板設計模式

1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...