Java設計模式之模板方法模式

2021-09-21 06:16:40 字數 1313 閱讀 2818

模板方法模式基於繼承關係,功能為構件骨架、提取邏輯以及功能實現的公共部分,不確定功能交給字類實現。

建立材料介面,介面目前功能就是獲取材料的**。

public

inte***ce

material

建立模板方法類,包含乙個material集合,乙個構件房子方法(子類實現),乙個獲取總**方法(父類寫死避免作弊)

public

abstract

class

basehouse

protected

abstract

void

madehouse()

;public

final

intgetallprice()

return price;

}}

建立材料materiala=100、materialb=200、materialc=300

public

class

materiala

implements

material

}public

class

materialb

implements

material

}public

class

materialc

implements

material

}

建立house實現類housea=ab材料、houseb=bc材料

public

class

housea

extends

basehouse

}public

class

houseb

extends

basehouse

}

分別建立housea和houseb,並列印**。

public

class

test

}

列印結果:

housea**300

houseb**500

這裡basehouse為骨架層,包含:**集合list的定義、總**的計算方法getallprice()以及構造house的邏輯。

具體何種材料建造出來的房子是不確定的,又字類madehouse()具體實現.

設計模式 Java設計模式之模板方法模式

本文源自 人生之旅 諳憶的部落格 我們先這樣來想象乙個生活中的場景,就是我們在銀行櫃檯進行辦理業務的時候,會進行這幾步 step1 進門取號 step2 填寫單據 step3 等待叫號 step4 視窗辦理 在這裡,無論是你我還是他 她,都會遵循這個模板進行業務的辦理!我們具體看step2,銀行是無...

JAVA設計模式之 模板方法模式

我們在生活中,很多事情都包含特定的一些步驟。如去銀行辦理業務,通常步驟的次序是 取號 填單 等待叫號 辦理業務。這幾個步驟中,有的是不變的,比如取號,每個人都要取,但有的是要變的,比如都有填單,但是根據不同的業務,填寫的單據不同。又比如我們外出吃飯,一般的步驟是 點餐 等待 吃飯 付錢,也能發現同樣...

Java設計模式之 模板方法模式

在物件導向開發過程中,通常會遇到這樣的乙個問題,我們知道乙個演算法所需的關鍵步驟,並確定了這些步驟的執行順序,但是,某些步驟的具體實現是未知的,或者說某些步驟的實現是會隨著環境的變化而改變的,例如,執行程式的流程大致如下 對於不同的程式語言,上述 4 個步驟都是不一樣的,但是,它們的執行流程是固定的...