博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据表与简单java类(角色与权限)
阅读量:5162 次
发布时间:2019-06-13

本文共 3880 字,大约阅读时间需要 12 分钟。

 

1 class Dept  //部门信息  2 {  3  private int did;  4  private String dname;  5  private Emp[] emps;//一个部门有多个雇员  6  private Role role;//一个部分有一个角色  7  public Dept(int did,String dname){  8   this.did=did;  9   this.dname=dname; 10  } 11  public void setEmps(Emp[] emps){ 12   this.emps=emps; 13  } 14  public Emp[] getEmps(){ 15   return this.emps; 16  } 17  public void setRole(Role role){ 18   this.role=role; 19  } 20  public Role getRole(){ 21   return this.role; 22  } 23  public String getInfo(){ 24   return "【部门】did="+this.did+",dname="+this.dname; 25  } 26 } 27 class Emp  //雇员信息 28 { 29  private int eid; 30  private String ename; 31  private Dept dept;  32  public Emp(int eid,String ename){ 33   this.eid=eid; 34   this.ename=ename; 35  } 36  public void setDept(Dept dept){ 37   this.dept=dept; 38  } 39  public Dept getDept(){ 40   return this.dept; 41  } 42  public String getInfo(){ 43   return "【雇员】eid="+this.eid+",ename="+this. ename; 44  } 45 } 46 class Role  //角色信息 47 { 48  private int rid; 49  private String title; 50  private Dept[] depts; 51  private Action[] actions; 52  public Role(int rid,String title){ 53   this.rid=rid; 54   this.title=title; 55  } 56  public void setDepts(Dept[] depts){ 57   this.depts=depts; 58  } 59  public Dept[] getDepts(){ 60   return this.depts; 61  } 62  public void setActions(Action[] actions){ 63   this.actions=actions; 64  } 65  public Action[] getActions(){ 66   return this.actions; 67  } 68  public String getInfo(){ 69   return "【角色】rid="+this.rid+",title="+this.title; 70  } 71 } 72 class Action  //权限信息 73 {  74  private int aid; 75  private String title; 76  private String flag; 77  private Role[] roles; 78  public Action(int aid,String title,String flag){ 79   this.aid=aid; 80   this.title=title; 81   this.flag=flag; 82  } 83  public void setRoles(Role[] roles){ 84   this.roles=roles; 85  } 86  public Role[] getRoles(){ 87   return this.roles; 88  } 89  public String getInfo(){ 90   return "【权限】aid="+this.aid+",title="+this.title+",flag="+this.flag; 91  } 92 } 93 public class Newbegin{ 94 public static void main(String args[]) { 95  //第一步:设置数据之间的关系 96  //1.创建部门数据 97  Dept d10=new Dept(10,"财务部"); 98  Dept d20=new Dept(20,"市场部"); 99  //2.创建雇员数据100  Emp e7369=new Emp(7369,"SMITH");101  Emp e7566=new Emp(7369,"ALLEN");102  Emp e7902=new Emp(7369,"FORD");103  Emp e7839=new Emp(7369,"KIND");104  Emp e7788=new Emp(7788,"SCOTT");105  //3.创建角色信息106  Role r100=new Role(100,"管理者");107  Role r200=new Role(200,"职员层");108  //4.创建权限数据109  Action a1000=new Action(1000,"雇员入职","emp:add");110  Action a2000=new Action(2000,"雇员晋升","emp:edit");111  Action a3000=new Action(3000,"发布公告","news:add");112  Action a6000=new Action(6000,"查看客户信息","customer:list");113  Action a7000=new Action(7000,"回防记录","customer:list");114  //5.设置角色与权限的关系115  r100.setActions(new Action[]{a1000,a2000,a3000});116  r200.setActions(new Action[]{a6000,a7000});117  //6.设置权限与角色的关系118  a1000.setRoles(new Role[]{r100});119  a2000.setRoles(new Role[]{r100});120  a3000.setRoles(new Role[]{r100});121  a6000.setRoles(new Role[]{r200});122  a7000.setRoles(new Role[]{r200});123  //7.设置部门和角色的关系124  d10.setRole(r100);125  d20.setRole(r200);126  //8.设置角色和部门的关系127  r100.setDepts(new Dept[]{d10});128  r200.setDepts(new Dept[]{d20});129  //9.设置雇员和部门的关系130  e7369.setDept(d10);131  e7566.setDept(d10);132  e7902.setDept(d20);133  e7839.setDept(d20);134  e7788.setDept(d20);135  //10.设置部门与雇员的关系136  d10.setEmps(new Emp[]{e7369,e7566});137  d20.setEmps(new Emp[]{e7902,e7839,e7788});138  //第二步:取出相应数据139  //要求可以根据一个员工找到相应的部门,以及对应的角色,以及每个角色的所有权限140  System.out.println("1.要求可以根据一个员工找到相应的部门,以及对应的角色,以及每个角色的所有权限");141  System.out.println(e7369.getInfo());142  System.out.println("\t|-"+e7369.getDept().getInfo());143  System.out.println("\t\t|-"+e7369.getDept().getRole().getInfo());144  for(int x=0;x

 

 

 

转载于:https://www.cnblogs.com/Tony98/p/10390883.html

你可能感兴趣的文章
20145322 Exp5 Adobe阅读器漏洞攻击
查看>>
使用System.out.print/prilntln() 输出时存在的问题
查看>>
angular-messages.js信息验证的使用
查看>>
HDU ACM 2844 Coins (多重背包)----------------01背包,完全背包,多重背包模板
查看>>
Docker 命令大全
查看>>
Linux c 根据socket套接字获取当前监听的端口
查看>>
scala 16 包
查看>>
黑马程序员------oc中的基本框架Foundation
查看>>
springboot集成schedule(深度理解)
查看>>
人工智能学习 第一课
查看>>
AT3576 Popping Balls
查看>>
CF1088F Ehab and a weird weight formula
查看>>
[SCOI2012]喵星球上的点名——堪称十种方法做的题
查看>>
ios 友盟统计
查看>>
java 文件读写
查看>>
SSH密钥对登录的原理和实践
查看>>
0423上课练习(list、while、def)
查看>>
ruby获取最新ruby
查看>>
ABAP术语-Object Type
查看>>
构建arm-linux-gnueabi-gcc-4.6.3交叉编译链
查看>>