大话设计模式_模板方法模式

本文通过学生答题的例子介绍了模板方法模式的应用。定义了一个抽象类TestPaper作为考试试卷的基础,包括了三道题目及其答案的输出。并通过两个具体实现类TestPaperA和TestPaperB展示了不同学生的答案。

以学生做试卷为例。

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



评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值