本文共 2216 字,大约阅读时间需要 7 分钟。
1.创建抽象类User
public abstract class User // 抽象类{ public void sameOperation() { System.out.println("修改个人资料!"); } public abstract void diffOperation();}
2.创建继承类Employee、Manager、Administrator
public class Employee extends User{ public Employee() { System.out.println("创建员工对象!"); } public void diffOperation() { System.out.println("员工拥有创建假条权限!"); }}
public class Manager extends User { public Manager() { System.out.println("创建经理对象!"); } public void diffOperation() { System.out.println("经理拥有创建和审批假条权限!"); }}
public class Administrator extends User{ public Administrator() // 构造函数 { System.out.println("创建管理员对象!"); } public void diffOperation() { System.out.println("管理员拥有创建和管理假条权限!"); }}
3.创建userDao类,判断身份用
public class UserDAO { public int findPermission(String userName, String userPassword) // 定义两个参数 { if ("zhangsan" == userName && "123456" == userPassword) { return 2; } else { return -1; } }}
4.工厂类,根据不同的身份,创建不同的类对象
public class UserFactory // 用户工厂类{ public static User getUser(int permission) // 静态方法 { if(0==permission) // 值为0的时候,返回雇员 { return new Employee(); } else if(1==permission) // 值为1 返回经理 { return new Manager(); } else if(2==permission) // 值为2 返回管理员 { return new Administrator(); } else { return null; } }}
5.创建客户端类,进行调用。JAVA中存在一种客户端的概念,主函数的概念。通过主函数,去实现类的实例化和方法的调用。
public class Client // 客户端{ public static void main(String args[]) // 主函数 { try { // 主题代码 User user; // 声明对象 UserDAO userDao = new UserDAO(); // 声明对象并赋值 int permission = userDao.findPermission("zhangsan", "123456"); //定义参数并赋值 user = UserFactory.getUser(permission); // 重新赋值对象 user.sameOperation(); // 调用方法 user.diffOperation(); } catch (Exception e) { // 输出异常 System.out.println(e.getMessage()); } }}
执行结果:
创建管理员对象!
修改个人资料! 管理员拥有创建和管理假条权限!
目录结构如下,
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5906259.html,如需转载请自行联系原作者