模板方法模式
模板方法模式是一種行為設計模式,它定義了一個演算法的骨架,在抽象類中封裝了演算法的結構,具體的步驟由子類去實現,以達到在不改變演算法結構的情況下,允許子類重定義演算法中的某些步驟。
下面是一個簡單的Java程式碼示例,演示了模板方法模式的實現:
abstract class AbstractClass {
public void templateMethod() {
step1();
step2();
step3();
}
public abstract void step1();
public abstract void step2();
public abstract void step3();
}
class ConcreteClass extends AbstractClass {
@Override
public void step1() {
System.out.println("Step 1");
}
@Override
public void step2() {
System.out.println("Step 2");
}
@Override
public void step3() {
System.out.println("Step 3");
}
}
public class Main {
public static void main(String[] args) {
AbstractClass abstractClass = new ConcreteClass();
abstractClass.templateMethod();
}
}
在上面的示例中,AbstractClass
是抽象類,定義了模板方法templateMethod()
和三個抽象步驟step1()
、step2()
、step3()
。ConcreteClass
是具體子類,繼承抽象類並實現了具體的步驟。
在Main
類中,建立了一個具體子類的例項,並呼叫了模板方法templateMethod()
。執行模板方法時,具體步驟會按照定義的順序依次被呼叫。
輸出結果將是:
Step 1
Step 2
Step 3
這個示例展示了模板方法模式的基本結構,其中抽象類定義了演算法的骨架,具體子類根據需要重寫其中的步驟,實現了演算法的具體細節。