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 }