1. 模板方法特点
优点:
- 封装不变部分,扩展可变部分。
- 提取公共代码,便于维护。
- 行为由父类控制,子类实现。
缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。
1. 代码(使用大话模式的案例)
public class TestPage {
public void Question1(){
System.out.println("问题1:");
System.out.println(Answer1());
}
protected String Answer1() {
return "";
}
public void Question2(){
System.out.println("问题2:");
System.out.println(Answer2());
}
protected String Answer2() {
return "";
}
public void Question3(){
System.out.println("问题1:");
System.out.println(Answer3());
}
protected String Answer3() {
return "";
}
}
public class TestPageA extends TestPage {
@Override
protected String Answer1() {
return "a";
}
@Override
protected String Answer2() {
return "a";
}
@Override
protected String Answer3() {
return "a";
}
}
public class TestPageB extends TestPage {
@Override
protected String Answer1() {
return "a";
}
@Override
protected String Answer2() {
return "a";
}
@Override
protected String Answer3() {
return "a";
}
}