11.5

模板方法模式

模板方法模式是一种行为设计模式,它定义了一个算法的骨架,在抽象类中封装了算法的结构,具体的步骤由子类去实现,以达到在不改变算法结构的情况下,允许子类重定义算法中的某些步骤。

下面是一个简单的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

这个示例展示了模板方法模式的基本结构,其中抽象类定义了算法的骨架,具体子类根据需要重写其中的步骤,实现了算法的具体细节。

posted @ 2024-11-20 10:20  liuxuechao  阅读(2)  评论(0编辑  收藏  举报