设计模式(七):模板方法模式

xiaoxiao2021-02-28  97

模板方法模式结构图:

例子:

1、定义模板方法类

/** * AbastractClass模板方法 */ public abstract class Question { //问题1 public void questionOne(){ System.out.println("问题1:1+1=?"); System.out.println("答案是:"+this.answerOne()); } //问题2 public void questionTwo(){ System.out.println("问题2:2+2=?"); System.out.println("答案是:"+this.answerTwo()); } //问题1的答案,抽象方法,具体实现交给子类 public abstract String answerOne(); //问题2的答案,抽象方法,具体实现交给子类 public abstract String answerTwo(); }

2、具体实现类

/** * ConcreteClass */ public class AnswerOne extends Question{ public String answerOne() { return "2"; } public String answerTwo() { return "4"; } }

public class AnswerTwo extends Question{ public String answerOne() { return "2"; } public String answerTwo() { return "4"; } } 3.测试

public class Test { public static void main(String[] args) { System.out.println("--------答卷1的内容--------"); Question questionOne=new AnswerOne(); questionOne.questionOne(); questionOne.questionTwo(); System.out.println("--------答卷2的内容--------"); Question questionTwo=new AnswerTwo(); questionTwo.questionOne(); questionTwo.questionTwo(); } }

输出:

--------答卷1的内容-------- 问题1:1+1=? 答案是:2 问题2:2+2=? 答案是:4 --------答卷2的内容-------- 问题1:1+1=? 答案是:2 问题2:2+2=? 答案是:4 来自:大话设计模式

转载请注明原文地址: https://www.6miu.com/read-25856.html

最新回复(0)