设计模式-极品飞车-【模板方法模式】
2013-04-09 11:02
218 查看
【模板方法模式应用场景举例】
比如在玩“极品飞车”这款游戏,每辆车都有显示速度的仪表盘,但有可能A车显示的是蓝色的仪表盘,B车显示的是红色的仪表盘,分析中可以发现,他们都有车速度的值,但显示的方式不太一样。其实模板方法就是最典型的“继承”的使用,大家平时百分百都可以用到,只是不知道叫模板方法模式:)!
【模板方法模式解释】
类型:行为模式
模板方法模式定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
【模板方法模式UML图】
【模板方法模式-JAVA代码实现】
新建赛车的父类:
package car_package; public class car_parent { private int speed; public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } public void print_speed() { System.out.println("将速度" + this.getSpeed() + "取出来!"); } } |
package car_imple; import car_package.car_parent; public class car_imple_red extends car_parent { @Override public void print_speed() { super.print_speed(); System.out.println("将速度" + this.getSpeed() + "用红色的仪表盘显示车的速度"); } } |
package car_imple; import car_package.car_parent; public class car_imple_blue extends car_parent { @Override public void print_speed() { super.print_speed(); System.out.println("将速度" + this.getSpeed() + "用蓝色的仪表盘显示车的速度"); } } |
package run_main; import car_imple.car_imple_blue; import car_imple.car_imple_red; import car_package.car_parent; public class run_main { public static void main(String[] args) { car_parent car_ref_red = new car_imple_red(); car_ref_red.setSpeed(300); car_ref_red.print_speed(); car_parent car_ref_blue = new car_imple_blue(); car_ref_blue.setSpeed(400); car_ref_blue.print_speed(); } } |
将速度300取出来! 将速度300用红色的仪表盘显示车的速度 将速度400取出来! 将速度400用蓝色的仪表盘显示车的速度 |
【模板方法模式-MyEclipse6项目JAVA代码实现】
模板方法模式template_method示例代码:点击
相关文章推荐
- 设计模式---行为类型---模板方法
- C++设计模式----模板方法模式
- 设计模式(五)模板方法设计模式
- Java设计模式 模板方法(Template Method)
- C++设计模式十--TemplatePattern(模板方法模式)
- c++设计模式:模板方法模式(Template Method Pattern)
- Net设计模式实例之模板方法模式(Template Mothed Pattern)(1) 推荐
- java设计模式——模板方法模式(Template Method Pattern)
- 设计模式之模板方法模式
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- 设计模式之模板方法模式(Template)
- 深入理解JavaScript系列(41):设计模式之模板方法
- Java设计模式(04-- 模板方法模式)
- Java设计模式之一——模板方法设计模式(Template Method)
- C++设计模式——模板方法模式
- 设计模式(三)__模板方法设计模式
- 设计模式 - 模板方法模式(template method pattern) 具体解释
- Java设计模式透析之 —— 模板方法(Template Method)
- 设计模式之模板方法模式
- 设计模式(22)--模板方法模式