看来就知道的模板方法模式---java版_源码下载
2013-02-20 23:46
423 查看
项目结构:
运行效果:
=================================================
代码部分:
=================================================
/Templete/src/com/b510/templete/TempleteOfProblem.java
/Templete/src/com/b510/templete/extend/FirstPaper.java
/Templete/src/com/b510/templete/extend/SecondPaper.java
/Templete/src/com/b510/templete/extend/ThirdPaper.java
/Templete/src/com/b510/templete/test/TemplateTest.java
哈哈,是不是很简单....
源码下载:http://files.cnblogs.com/hongten/Templete.zip
运行效果:
=================================================
代码部分:
=================================================
/Templete/src/com/b510/templete/TempleteOfProblem.java
/** * */ package com.b510.templete; /** * 问题模板 * * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-20 */ public abstract class TempleteOfProblem { /** * 姓名 */ private String name; /** * 第一个问题 */ public abstract void firstProblem(); /** * 第二个问题 */ public abstract void secondProblem(); /** * 第三个问题 */ public abstract void thirdProblem(); /** * 问题模板(类似于试卷) */ public void templeteOfProblems() { firstProblem(); secondProblem(); thirdProblem(); System.out.println("====================="); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
/Templete/src/com/b510/templete/extend/FirstPaper.java
/** * */ package com.b510.templete.extend; import com.b510.templete.TempleteOfProblem; /** * 第一张试卷 * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-20 */ public class FirstPaper extends TempleteOfProblem{ public void firstProblem() { System.out.println(getName()+"第一题选择:A"); } public void secondProblem() { System.out.println(getName()+"第二题选择:B"); } public void thirdProblem() { System.out.println(getName()+"第三题选择:A"); } }
/Templete/src/com/b510/templete/extend/SecondPaper.java
/** * */ package com.b510.templete.extend; import com.b510.templete.TempleteOfProblem; /** * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-20 */ public class SecondPaper extends TempleteOfProblem{ public void firstProblem() { System.out.println(getName()+"第一题选择:C"); } public void secondProblem() { System.out.println(getName()+"第二题选择:D"); } public void thirdProblem() { System.out.println(getName()+"第三题选择:B"); } }
/Templete/src/com/b510/templete/extend/ThirdPaper.java
/** * */ package com.b510.templete.extend; import com.b510.templete.TempleteOfProblem; /** * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-20 */ public class ThirdPaper extends TempleteOfProblem{ public void firstProblem() { System.out.println(getName()+"第一题选择:B"); } public void secondProblem() { System.out.println(getName()+"第二题选择:C"); } public void thirdProblem() { System.out.println(getName()+"第三题选择:D"); } }
/Templete/src/com/b510/templete/test/TemplateTest.java
/** * */ package com.b510.templete.test; import com.b510.templete.TempleteOfProblem; import com.b510.templete.extend.FirstPaper; import com.b510.templete.extend.SecondPaper; import com.b510.templete.extend.ThirdPaper; /** * 模板测试类(有三个学生,做同一套试题,然而他们各自的答案是不同的) * @author hongten(hongtenzone@foxmail.com) * @date 2013-2-20 */ public class TemplateTest { public static void main(String[] args) { TempleteOfProblem student = new FirstPaper(); student.setName("wanjin"); student.templeteOfProblems(); student = new SecondPaper(); student.setName("hongten"); student.templeteOfProblems(); student = new ThirdPaper(); student.setName("hanyuan"); student.templeteOfProblems(); } }
哈哈,是不是很简单....
源码下载:http://files.cnblogs.com/hongten/Templete.zip
相关文章推荐
- 看了就知道的工厂模式---java版_源码下载
- JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
- java模板方法模式
- Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】
- Java设计模式之模板方法模式
- Android进阶系列--源码分析模板方法模式在AsyncTask的运用
- Java设计模式之模板方法模式(Template Method)
- Java模板方法模式
- Java模板方法模式中的HookMethod实现
- Java设计模式应用——模板方法模式
- 【GOF23设计模式】_模板方法模式_钩子函数_方法回调_好莱坞原则JAVA249
- java 开发模式之九 : 模板方法模式
- 设计模式之模板方法模式(Java实现)
- java设计模式-模板方法模式
- java设计模式---Template Method模板方法---实际处理交给子类
- Java之模板方法模式(Template Method)
- java模板方法模式
- Java设计模式之模板方法设计模式
- 软件设计模式之模板方法模式(JAVA)
- 设计模式_模板方法模式(Java)