1 /** 2 * 抽象類之模板方法設計模式 3 * 模板方法模式(Template method): 定義一個操做的算法骨架,而將一些可變部分的實現 4 * 延遲到子類中完成,模板方法模式使得子類能夠不改變一個算法的結構便可從新定義該算法的某些特定步驟. 5 * 6 */ 7 8 public class SixFour { 9 public static void main(String[] args) { 10 UserManager uManager = new UserManager(); 11 uManager.action("admin", "add"); 12 uManager.action("yuan", "啥?"); 13 } 14 } 15 //execute 參與了算法的構架,可是在Basemanager當中沒有實現 , 等到子類再定製化操做. 16 abstract class BaseManager{ 17 // 抽象類中的 具體方法能夠; 寫出來一個框架,至於具體實現細節 能夠放到 18 // 子類當中, 在不一樣的子類當中實現不一樣的部分方法. 19 public void action(String name,String method) { 20 if("admin".equals(name)) { 21 execute(method); 22 }else { 23 System.out.println("你沒有操做權限,請聯繫管理員."); 24 } 25 } 26 // 抽象方法 能夠先不實現 ,等到子類中 再實現抽象方法 27 public abstract void execute(String method); 28 } 29 30 class UserManager extends BaseManager{ 31 32 33 public void execute(String method) { 34 // 用戶是否登陸的驗證 35 // 驗證成功以後才能夠執行一下操做 36 if("add".equals(method)) { 37 System.out.println("執行了添加操做."); 38 }else { 39 System.out.println("執行了刪除操做."); 40 } 41 } 42 }