模板方法模式(Template Method)
2016-12-06 14:06
302 查看
模板方法模式需要开发抽象类和具体子类之间的协作。抽象类负责给出一个算法的轮廓和骨架,子类则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template method)。子类重写抽象类中的抽象方法,通过调用抽象类中的模板方法中的抽象方法,实现对子类基本方法的调用。
直接来看一个例子:
1.定义一个抽象类,及类中的模板方法和抽象方法:
2.定义子类:
3.测试:
4、原文博客地址
http://www.cnblogs.com/lwbqqyumidi/p/3778960.html
直接来看一个例子:
1.定义一个抽象类,及类中的模板方法和抽象方法:
1 abstract class AbstractCalculator { 2 3 // 主方法,实现对本类其它方法的调用 4 public final int getResult(String exp, String opt) { 5 int array[] = split(exp, opt); 6 return calculate(array[0], array[1]); 7 } 8 9 public int[] split(String exp, String opt) { 10 String array[] = exp.split(opt); 11 int arrayInt[] = new int[2]; 12 arrayInt[0] = Integer.parseInt(array[0]); 13 arrayInt[1] = Integer.parseInt(array[1]); 14 return arrayInt; 15 } 16 17 // 被子类重写的方法 18 abstract public int calculate(int num1, int num2); 19 }
2.定义子类:
1 class Plus extends AbstractCalculator { 2 3 @Override 4 public int calculate(int num1,int num2) { 5 return num1 + num2; 6 } 7 }
3.测试:
1 public class TemplateMethodTest { 2 3 public static void main(String[] args) { 4 String exp = "5+8"; 5 AbstractCalculator cal = new Plus(); 6 int result = cal.getResult(exp, "\\+"); 7 System.out.println(result); 8 } 9 }
4、原文博客地址
http://www.cnblogs.com/lwbqqyumidi/p/3778960.html
相关文章推荐
- 设计模式学习笔记(二十四)——Template Method模板方法
- 行为型模式-模板方法模式(Template Method)
- 模板方法模式 :Template Method(转自LoveCherry)
- 第三十三章 模板方法模式(Template Method)
- 模板方法(Template Method)-----类行为型模式
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 解读设计模式----模板方法模式(Template Method),电脑就是这样造出来的
- 14. Template Method模板方法(行为型模式)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式之模板方法模式(Template Method)
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式(12)-模板方法模式(Template Method)
- 模板方法模式(Template Method Pattern)学习笔记
- 模板方法模式(Template Method Pattern)
- 模板方法(Template Method)模式
- 行为模式 - 模板方法(Template Method)
- 模板方法模式(Template Method)
- C#面向对象设计模式纵横谈 学习笔记14 Template Method模板方法(行为型模式)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 模板方法(Template Method)模式