Java--设计模式之模板方法模式

来源:互联网 发布:淘宝网企业店铺 编辑:程序博客网 时间:2024/04/29 06:19

模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

我们来看一个考试试卷答题的例子。

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{@Overridepublic String answer1() {return "a";}@Overridepublic String answer2() {return "b";}}
3、学生B抄写的试卷
public class TestPagerB extends TestPager{@Overridepublic String answer1() {return "c";}@Overridepublic 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();}}

0 0
原创粉丝点击