码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式(3)Template模板设计模式

时间:2017-08-31 14:24:58      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:i++   public   流程   string   int()   bsp   不同   文件   处理   

一.什么是模板模式

在父类中定义处理流程的框架,在子类中实现具体的处理的模式.

 

二.示例类

AbstractDisplay : 只实现display方法的抽象类

CharDisplay : 实现了open,print,close具体方法的类

StringDisplay : 实现了open,print,close具体方法的类

Main : 测试程序行为的类

 

三.分析

1.首先先看AbstractDisplay,他是一个模板,假如他想要打开文件,调用输出五次,再关闭.

public abstract class AbstractDisplay{

  //定义要调用的抽象类

  public abstract void open();

  public abstract void print();

  public abstract void close();

  

  //定义模板过程

  public final void display(){  //需要用final,不被子类继承,也不允许任何从此类继承的类来覆写这个方法

    open();

    for(int = i; i < 5 ; i++){

      print();

    }

    close();

  }

  

 

 

  

}

 

 

2.CharDisplay,StringDisplay只要继承extends父类AbstractDisplay,实现了open,print,close具体方法的类.

 

3.Main程序,父类定义,子类构造,最后调用父类的模板函数

AbstractDisplay *d1 = New CharDisplay();

AbstractDisplay *d2 = New StringDisplay();

d1.display();//调用模板函数

d2.display();//调用模板函数

 //因为子类具体实现方法不同,模板函数实现也不同.

设计模式(3)Template模板设计模式

标签:i++   public   流程   string   int()   bsp   不同   文件   处理   

原文地址:http://www.cnblogs.com/zhongxuan/p/7457647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!