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 }