在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
模板模式的实现:
//模板类
public abstract class TemplateClass {
public void templateMethod(){
specificMethod();
method1();
method1();
}
public void specificMethod(){
System.out.println("模板中规定的特殊方法");
}
public abstract void method1();
public abstract void method2();
}
方式一
public class ConcreteClass1 extends TemplateClass {
@Override
public void method1() {
System.out.println("根据模板指定的方案一的第一步");
}
@Override
public void method2() {
System.out.println("根据模板指定的方案一的第二步");
}
}
方式二
public class ConcreteClass2 extends TemplateClass {
@Override
public void method1() {
System.out.println("根据模板指定的方案二的第一步");
}
@Override
public void method2() {
System.out.println("根据模板指定的方案二的第二步");
}
}
public class TemplateMain {
public static void main(String[] args) {
TemplateClass template1 = new ConcreteClass1();
template1.templateMethod();
TemplateClass template2 = new ConcreteClass2();
template2.templateMethod();
}
}
下一节:
解释器模式:【每天一个java设计模式(十四)】 - 解释器模式
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43598687/article/details/122089654
内容来源于网络,如有侵权,请联系作者删除!