模板方法模式
父类定义一些模板方法,一些方法需要在子类中实现。使得子类在不改变父类模板的情况下,重新定义某些方法的步骤。
1. 抽象类
定义一些模板方法,有的方法在本类中实现,有的方法需要在子类中实现。
package com.wx.demo01;
//抽象类
public abstract class AbstractClass {
//模板方法
public void TemplateMethod(){
SpecficMethod();
abstractMethod1();
abstractMethod2();
}
//具体方法
public void SpecficMethod(){
System.out.println("抽象类中的具体方法被调用");
}
//抽象方法1
public abstract void abstractMethod1();
//抽象方法2
public abstract void abstractMethod2();
}
2.具体子类
继承父类,实现父类中一些未实现的方法。
package com.wx.demo01;
public class ConcreteClass extends AbstractClass {
public void abstractMethod1() {
System.out.println("抽象方法1的实现被调用");
}
public void abstractMethod2() {
System.out.println("抽象方法2的实现被调用");
}
}
3.测试类
package com.wx.demo01;
public class TemplateMethodPattern {
public static void main(String[] args) {
AbstractClass tm = new ConcreteClass();
tm.TemplateMethod();
}
}
4.测试结果

本文深入探讨了设计模式中的模板方法模式,通过一个具体的Java代码示例,展示了如何使用抽象类定义模板方法,以及子类如何重写这些方法来实现特定的行为,同时保持整体流程不变。
1705

被折叠的 条评论
为什么被折叠?



