首页 > 代码库 > java模式:模板模式的简单理解
java模式:模板模式的简单理解
1.模板模式就是用虚类作为基类将几个要执行差不多操作中相同的部分提取出来,不同的部分各自实现!
2.下面给出简单栗子:
我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱,这个操作在基类中实现就好,而不同的在于具体操作部分:
一,大象太胖了,要测量并切片才能放入冰箱
二,狐狸太臭了,要洗干净并擦干
所以程序如下:
1.基类:BasicFridgeOperation.java
package com.learn.templateMode;/** * Created by garfield on 9/15/2016. */public abstract class BasicFridgeOperation { private void openFridge(){ System.out.println("open the fridge door"); } /** * different parts about one of the whole steps * the subclass will make different implements */ protected abstract void operateFridge(); private void closeFridge(){ System.out.println("close the fridge door"); } /** * the same operation steps */ public void operation(){ openFridge(); operateFridge(); closeFridge(); }}
2,放入大象类:OperateElephant.java
package com.learn.templateMode;/** * Created by garfield on 9/15/2016. */public class OperateElephant extends BasicFridgeOperation { /** * same function but different implement */ protected void operateFridge() { System.out.println("measure the elephant"); System.out.println("slice up the elephant"); System.out.println("put the elephant in"); }}
3,放入狐狸类:OperateFox.java
package com.learn.templateMode;/** * Created by garfield on 9/15/2016. */public class OperateFox extends BasicFridgeOperation { /** * same function but different implement */ protected void operateFridge() { System.out.println("clean up the fox"); System.out.println("dry the fox"); System.out.println("put the fox in"); }}
4,测试:OperationTest.java
package com.learn.templateMode;/** * Created by garfield on 9/15/2016. */public class OperationTest { public static void main(String[] args) { System.out.println("====== begin to deal with the elephant========="); BasicFridgeOperation basicFridgeOperation = new OperateElephant(); basicFridgeOperation.operation(); System.out.println("====== begin to deal with the fox========="); BasicFridgeOperation basicFridgeOperation2 = new OperateFox(); basicFridgeOperation2.operation(); }}
5,输出结果:
====== begin to deal with the elephant=========open the fridge doormeasure the elephantslice up the elephantput in the elephantclose the fridge door====== begin to deal with the fox=========open the fridge doorclean up the foxdry the foxput in the foxclose the fridge door
,that,s all.
java模式:模板模式的简单理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。