首页 > 代码库 > Java学习笔记——设计模式之七.模板方法模式
Java学习笔记——设计模式之七.模板方法模式
模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
结构图:
代码:
算法骨架:
1 package cn.happy.design_pattern._07templatemethod; 2 3 public abstract class AbstractClass { 4 5 public abstract void primitiveOperation1(); 6 public abstract void primitiveOperation2(); 7 public void templateMethod(){ 8 primitiveOperation1(); 9 primitiveOperation2(); 10 } 11 }
某类重写算法骨架的某步骤:
1 package cn.happy.design_pattern._07templatemethod; 2 3 public class ConcreteClassA extends AbstractClass { 4 5 @Override 6 public void primitiveOperation1() { 7 System.out.println("具体类A方法1实现"); 8 9 } 10 11 @Override 12 public void primitiveOperation2() { 13 System.out.println("具体类A方法2实现"); 14 15 } 16 17 } 18 public class ConcreteClassB extends AbstractClass { 19 20 @Override 21 public void primitiveOperation1() { 22 System.out.println("具体类B方法1实现"); 23 24 } 25 26 @Override 27 public void primitiveOperation2() { 28 System.out.println("具体类B方法2实现"); 29 30 } 31 32 }
测试类:
1 package cn.happy.design_pattern._07templatemethod; 2 3 public class Mmain { 4 5 public static void main(String[] args) { 6 AbstractClass c = new ConcreteClassA(); 7 c.templateMethod(); 8 c = new ConcreteClassB(); 9 c.templateMethod(); 10 11 } 12 13 }
Java学习笔记——设计模式之七.模板方法模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。