二、 抽象類延伸出的模板設計模式
阿新 • • 發佈:2018-04-19
pro 頂級 pri bsp 抽象類 pub 代碼 AC method
具體可參考:https://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html
模板設計模式的關鍵:子類可以置換掉父類的可變部分,但是子類卻不可以改變模板方法所代表的頂級邏輯
示例:
public abstract class AbstractTemplate { /** * 模板方法 */ public void templateMethod() { // 調用基本方法 abstractMethod(); hookMethod(); concreteMethod(); }/** * 抽象方法(由子類實現) */ protected abstract void abstractMethod(); /** * 基本方法(由子類重寫) */ protected void hookMethod() { } /** * 具體方法(抽象類實現) */ private final void concreteMethod() { // 業務相關的代碼 } }
二、 抽象類延伸出的模板設計模式