大话设计模式_模板方法模式
以学生做试卷为例。
package com.wzs.design;/** * 大话设计模式--page93 模板方法模式 * * @author Administrator * */public class TemplateMethod {public static void main(String[] args) {TestPaperA testPaperA = new TestPaperA();testPaperA.answer1();testPaperA.answer2();testPaperA.answer3();System.out.println();TestPaperB testPaperB = new TestPaperB();testPaperB.answer1();testPaperB.answer2();testPaperB.answer3();}}/* * 考试试卷 */abstract class TestPaper {// 第一题public void testQuestion1() {System.out.println("1.认为“民为贵,社稷次之,君为轻”的思想家是( )A.孔子 B.孟子C.庄子 D.左丘明");}// 第二题public void testQuestion2() {System.out.println("2.李斯的《谏逐客书》选自( )A.《左传》B.《史记》C.《战国策》D.《国语》");}// 第三题public void testQuestion3() {System.out.println("3.《五代史伶官传序》中,告诫人们要居安思危的警戒性语句是( )A.祸患常积于忽微,智勇多困于所溺 B.满招损,谦得益");}// 第一题答案public abstract void answer1();// 第二题答案public abstract void answer2();// 第三题答案public abstract void answer3();}/* * 学生A试卷 */class TestPaperA extends TestPaper {public void answer1() {System.out.println("A");}public void answer2() {System.out.println("B");}public void answer3() {System.out.println("C");}}/* * 学生B试卷 */class TestPaperB extends TestPaper {public void answer1() {System.out.println("B");}public void answer2() {System.out.println("C");}public void answer3() {System.out.println("D");}}