现在的位置: 首页 > 综合 > 正文

模板模式(考试试题重用)

2013年09月05日 ⁄ 综合 ⁄ 共 2234字 ⁄ 字号 评论关闭
package com.template;

/**
 * 试卷类   有试题和答案
 * @Filefile 	:	ExamePaper.java
 * @version 	:	1.0
 * @Author 		:	sky
 * @Date		:	2012-7-4
 * ================================
 * @Package		:	com.template
 * @Class       :
 * @extend 
 *
 *
 *================================
 *Copyright (c) 2012 Colavia
 */
public class ExamePaper {

	public void question1(){
	
		System.out.println("1 + 1  =  ? A:0  B:-1 C:4 D:2" );
		System.out.println("答案:" +answer1());
	}
	
	public void question2(){
		
		System.out.println("1 + 3  =  ? A:0  B:-1 C:4 D:2" );
		System.out.println("答案:" +answer2());
	}
	
	public void question3(){
		
		System.out.println("1 + 2  =  ? A:3  B:-1 C:4 D:2" );
		System.out.println("答案:" +answer3());
	}
	
	public void question4(){
		
		System.out.println("9 + 1  =  ? A:0  B:10 C:4 D:2" );
		System.out.println("答案:" +answer4());
	}
	
	public String answer1(){
		return "";
	};
	
	public String answer2(){
		return "";
	};
	
	public String answer3(){
		return "";
	};
	
	public String answer4(){
		return "";
	};
	
	
}

package com.template;

/**
 *  第一份试题的答案
 * @Filefile 	:	TestPaper1.java
 * @version 	:	1.0
 * @Author 		:	sky
 * @Date		:	2012-7-4
 * ================================
 * @Package		:	com.template
 * @Class       :
 * @extend 
 *
 *
 *================================
 *Copyright (c) 2012 Colavia
 */
public class TestPaper1 extends ExamePaper {

	@Override
	public String answer1() {
		
		return "a";
	}

	@Override
	public String answer2() {
		return "c";
		}

	@Override
	public String answer3() {
		return "d";	}

	@Override
	public String answer4() {
		return "a";
	}

   
	
	
}

package com.template;

/**
 * 第二份试题的答案
 * @Filefile 	:	TestPaper2.java
 * @version 	:	1.0
 * @Author 		:	sky
 * @Date		:	2012-7-4
 * ================================
 * @Package		:	com.template
 * @Class       :
 * @extend 
 *
 *
 *================================
 *Copyright (c) 2012 Colavia
 */
public class TestPaper2 extends ExamePaper {

	@Override
	public String answer1() {
		
		return "d";
	}

	@Override
	public String answer2() {
		return "a";
		}

	@Override
	public String answer3() {
		return "c";	}

	@Override
	public String answer4() {
		return "b";
	}

}

package com.template;

/**
 * 模拟方法摸式 是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。
 *  模拟方法摸式 就是提供一个很好的代码复用平台
 * @Filefile 	:	MainRun.java
 * @version 	:	1.0
 * @Author 		:	sky
 * @Date		:	2012-7-4
 * ================================
 * @Package		:	com.template
 * @Class       :
 * @extend 
 *
 *
 *================================
 *Copyright (c) 2012 Colavia
 */
public class MainRun {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		ExamePaper paper1 = new TestPaper1();
		paper1.question1();
		paper1.question2();
		paper1.question3();
		
		
		System.out.println("==================");
		
		ExamePaper paper2= new TestPaper2();
		paper2.question1();
		paper2.question2();
		paper2.question3();
		
		
	}

}

抱歉!评论已关闭.