模版模式
来源:互联网 发布:贝叶斯聚类算法 编辑:程序博客网 时间:2024/05/21 16:54
意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
主要解决:一些方法通用,却在每一个子类都重新写了这一方法。
何时使用:有一些通用的方法。
如何解决:将这些通用算法抽象出来。
关键代码:在抽象类实现,其他步骤在子类实现。
核心,将通用算法,抽象出来。
抽象方法:
public abstract class Game { abstract void initialize(); abstract void startPlay(); abstract void endPlay(); //模板 public final void play(){ //初始化游戏 initialize(); //开始游戏 startPlay(); //结束游戏 endPlay(); }}
具体实现:
public class Cricket extends Game { @Override void endPlay() { System.out.println("Cricket Game Finished!"); } @Override void initialize() { System.out.println("Cricket Game Initialized! Start playing."); } @Override void startPlay() { System.out.println("Cricket Game Started. Enjoy the game!"); }}public class Football extends Game { @Override void endPlay() { System.out.println("Football Game Finished!"); } @Override void initialize() { System.out.println("Football Game Initialized! Start playing."); } @Override void startPlay() { System.out.println("Football Game Started. Enjoy the game!"); }}
测试:
public class TemplatePatternDemo { public static void main(String[] args) { Game game = new Cricket(); game.play(); System.out.println(); game = new Football(); game.play(); }}
阅读全文
0 0
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 模版模式
- 设计模式--模版模式
- 设计模式--模版模式
- 模版方法模式
- 模版方法模式
- 七、模版方法模式
- 模版方法设计模式
- 模版模式--Template
- java 模版方法模式
- 20171101
- Android Studio直接修改项目名,提示“can't rename root module”问题
- 线段树更进一步的运用
- 编写一个手机类(Mobile),包括手机品牌(brand)、手机型号(type), 方法包括显示手机信息,并编写测试类进行对象的创建
- 【Java】SpringMVC整合Shiro记录
- 模版模式
- 学习Python3:20171031
- java消息队列
- 做自己喜欢的事,任何时候都不会太迟
- Storm集群的安装配置
- 今天使用plsql操作oracle数据库使用replace函数以及遇到表死锁解决方法
- 字节码操纵框架ASM分析
- Topcoder Urban 3D Challenge
- linux系统基本操作——自动安装虚拟机