您的位置:首页 > 编程语言 > Java开发

看来就知道的模板方法模式---java版_源码下载

2013-02-20 23:46 423 查看
项目结构:



运行效果:



=================================================

代码部分:

=================================================

/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: