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
这个示例展示了模板方法模式的基本结构,其中抽象类定义了算法的骨架,具体子类根据需要重写其中的步骤,实现了算法的具体细节。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!