您的位置:首页 > 其它

模板方法模式的基本使用

2017-03-27 23:42 295 查看
1、模板方法模式的概念:

在Android中 这个模板比较常用,比如把公用的代码写在一个父类中,减少子类的代码量,高大上的叫法就是模板方法模式。

2、基本用法:(直接看代码)

这里是公用方法:

public class TestPaper {
public void textQuestion1() {
System.out.println("1+1=?() A、1  B、2  C、3  D、4");
System.out.println("答案是: "+Answer1());
}
protected String Answer1() {
return null;
}
public void textQuestion2(){
System.out.println("我是谁?[]:A、小红 B、小明 C、小云 D、小龙");
System.out.println("答案是:"+Answer2());
}
protected String Answer2() {
return null;
}
}

子类A继承:

直接返回答案

public class TestPaperA extends TestPaper {
@Override
protected String Answer2() {
return "A";
}
@Override
protected String Answer1() {
return "B";
}
}


子类B继承:

直接返回答案
public class TestPaperB extends TestPaper {
@Override
protected String Answer2() {
return "C";
}
@Override
protected String Answer1() {
return "D";
}
}

main方法调用:
public static void main(String[] args) {
TestPaper paperA=new TestPaperA();
paperA.textQuestion1();;
paperA.textQuestion2();;
TestPaper paperB=new TestPaperB();
paperB.textQuestion1();;
paperB.textQuestion2();;
}

打印结果:
1+1=?[]: A、1 B、2 C、3 D、4
答案是: B
我是谁?[]:A、小红 B、小明 C、小云 D、小龙
答案是:A
1+1=?[]: A、1 B、2 C、3 D、4
答案是: D
我是谁?[]:A、小红 B、小明 C、小云 D、小龙
答案是:C
3、总结:
引用术语,模板方法模式就是通过把不变的(或者是公用的)放到父类,通过子类的继承,去除重复代码。我们通常用继承与多态,在设计模式中的高端叫法是 模板方法模式!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: