模板方法模式

壹頁書發表於2017-03-21
http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html




  1. abstract class AbstractTemplate {  
  2.     /** 
  3.      * 模板方法 
  4.      */  
  5.     public void templateMethod() {  
  6.         // 呼叫基本方法  
  7.         abstractMethod();  
  8.         hookMethod();  
  9.         concreteMethod();  
  10.     }  
  11.   
  12.     /** 
  13.      * 基本方法的宣告(由子類實現) 
  14.      */  
  15.     protected abstract void abstractMethod();  
  16.   
  17.     /** 
  18.      * 基本方法(空方法) 
  19.      */  
  20.     protected void hookMethod() {  
  21.     }  
  22.   
  23.     /** 
  24.      * 基本方法(已經實現) 
  25.      */  
  26.     private final void concreteMethod() {  
  27.         // 業務相關的程式碼  
  28.     }  
  29. }  
  30.   
  31. class ConcreteTemplate extends AbstractTemplate {  
  32.     // 基本方法的實現  
  33.     @Override  
  34.     public void abstractMethod() {  
  35.         // 業務相關的程式碼  
  36.     }  
  37.   
  38.     // 重寫父類的方法  
  39.     @Override  
  40.     public void hookMethod() {  
  41.         // 業務相關的程式碼  
  42.     }  




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2135741/,如需轉載,請註明出處,否則將追究法律責任。

相關文章