11.5

liuxuechao發表於2024-11-20

模板方法模式

模板方法模式是一種行為設計模式,它定義了一個演算法的骨架,在抽象類中封裝了演算法的結構,具體的步驟由子類去實現,以達到在不改變演算法結構的情況下,允許子類重定義演算法中的某些步驟。

下面是一個簡單的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

這個示例展示了模板方法模式的基本結構,其中抽象類定義了演算法的骨架,具體子類根據需要重寫其中的步驟,實現了演算法的具體細節。

相關文章