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(); } }