定義
定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
代碼:
public abstract class AbstractClass {
//基本方法
protected abstract void doSomething();
//基本方法
protected abstract void doAnything();
//模板方法
public void templateMethod(){
/*
* 調用基本方法,完成相關的邏輯
*/
this.doAnything();
this.doSomething();
}
}
public class ConcreteClass1 extends AbstractClass {
//實現基本方法
protected void doAnything() {
//業務邏輯處理
}
protected void doSomething() {
//業務邏輯處理
}
}
public class ConcreteClass2 extends AbstractClass {
//實現基本方法
protected void doAnything() {
//業務邏輯處理
}
protected void doSomething() {
//業務邏輯處理
}
}