Java--設計模式之模板方法模式

模板方法模式,定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。

我們來看一個考試試卷答題的例子。

1、考試試卷

public abstract class TestPager {
	public void testQuestion1(){
		System.out.println("楊過得到,後來給了郭靖,練成倚天劍、屠龍刀的玄鐵可能是[]a.球磨鑄鐵 b.馬口鐵 c.告訴合金鋼 d.碳素纖維");
		System.out.println("答案"+answer1());
	}
	public void testQuestion2(){
		System.out.println("楊過、程英、陸無雙剷除了情花,造成[]a.使這種植物不再害人 b.使一種珍惜物種滅絕 c.破壞了那個生物圈的生態平衡 d.造成該地區沙漠化");
		System.out.println("答案"+answer2());
	}
	public abstract String answer1();
	public abstract String answer2();
}
2、學生A抄寫的試卷
public class TestPagerA extends TestPager{

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

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

}
3、學生B抄寫的試卷
public class TestPagerB extends TestPager{

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

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

}
4、測試
public class Test {
	public static void main(String[] args) {
		System.out.println("學生A的試卷");
		TestPager studentA = new TestPagerA();
		studentA.testQuestion1();
		studentA.testQuestion2();
		System.out.println("學生B的試卷");
		TestPager studentB = new TestPagerB();
		studentB.testQuestion1();
		studentB.testQuestion2();
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章