模板方法模式:定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤
设计一个抽象类,用来判断用户是否登录,判断登录的身份
//去判断用户是否登录,是否有权限去做一系列操作
abstract class userManage {
abstract public void exaction(String name);
//判断用户是否登录
public void action(String name, String method, String password) {
if ("admin".equals(name) && "123456".equals(password)) {
//如果用户输入的信息都对就会调用exaction方法,将用户输入的method传回,判断用户的操作
exaction(method);
} else {
System.out.println("对不起你没有权限,请联系管理员");
}
}
}
设计一个类来继承这个抽象类,用来实现抽象类判断完身份后的一系列操作
如果在抽象父类判断完身份之后,再来执行用户想执行的具体的操作
//只管执行操作不用去判断用户是否登录
class user extends userManage {
public void exaction(String method) {
if ("add".equals(method)) {
System.out.println("执行了添加操作");
System.out.println("***********");
System.out.println("***********");
} else if ("del".equals(method)) {
System.out.println("执行了删除操作");
}
}
}
主方法中创建user对象,通过继承父类的action方法,使用对象去调用这个判断用户登录的权限,从而为用户实现其操作
public static void main(String[] args) {
user s = new user();
s.action("admin", "add", "123456");
}
执行上述代码结果
执行了添加操作
***********
***********