zoukankan      html  css  js  c++  java
  • Java简单类——多对多映射

      1 class Admin {
      2     private String aid ;
      3     private String password ;
      4     private Role role ;
      5     public Admin(String aid,String password) {
      6         this.aid =aid ;
      7         this.password = password ;
      8     }
      9     public void setRole(Role role) {
     10         this.role = role ;
     11     }
     12     public Role getRole() {
     13         return this.role ;
     14     }
     15     public String getInfo() {
     16         return "管理员编号:" + this.aid + ",密码:" + this.password ;
     17     }
     18 }
     19 class Role {
     20     private int rid ;
     21     private String title ;
     22     private Admin admins [] ;
     23     private Group groups [] ;
     24     public Role(int rid,String title) {
     25         this.rid = rid ;
     26         this.title = title ;
     27     }
     28     public void setAdmins(Admin [] admins) {
     29         this.admins = admins ;
     30     }
     31     public void setGroups(Group  groups[]) {
     32         this.groups = groups ;
     33     }
     34     public Group [] getGroups() {
     35         return this.groups ;
     36     }
     37     public Admin [] getAdmins() {
     38         return this.admins ;
     39     }
     40     public String getInfo() {
     41         return "角色编号:" + this.rid + ",名称:" + this.title ;
     42     }
     43 }
     44 class Group {
     45     private int gid ;
     46     private String title ;
     47     private Role roles [] ;
     48     private Action actions [] ;
     49     public Group(int gid,String title) {
     50         this.gid = gid ;
     51         this.title = title ;
     52     }
     53     public void setRoles(Role roles[]) {
     54         this.roles = roles ;
     55     }
     56     public void setActions(Action actions[]) {
     57         this.actions = actions ;
     58     }
     59     public Action [] getActions() {
     60         return this.actions ;
     61     }
     62     public Role [] getRoles() {
     63         return this.roles ;
     64     }
     65     public String getInfo() {
     66         return "权限组编号:" + this.gid + ",名称:" + this.title ; 
     67     }
     68 }
     69 class Action {
     70     private int aid ;
     71     private String title ;
     72     private String url ;
     73     private Group group ;
     74     public Action(int aid,String title,String url) {
     75         this.aid = aid ;
     76         this.title = title ;
     77         this.url = url ;
     78     }
     79     public void setGroup(Group group) {
     80         this.group = group ;
     81     }
     82     public Group getGroup() {
     83         return this.group ;
     84     }
     85     public String getInfo() {
     86         return "权限编号:" + this.aid + ",名称:" + this.title + ",路径:" + this.url ;
     87     }
     88 }
     89 public class TestAdmin {
     90     public static void main (String args[]) {
     91         //第一步,设置完整关系
     92         //1、准备出若干个对象
     93         Admin a1 = new Admin("admin","hello") ;
     94         Admin a2 = new Admin("guest","hello") ;
     95         Admin a3 = new Admin("jiang","hello") ;
     96         Role r1 = new Role(1,"系统管理员") ;
     97         Role r2 = new Role(2,"信息管理员") ;
     98         Group g1 = new Group(10,"信息管理") ;
     99         Group g2 = new Group(11,"用户管理") ;
    100         Group g3 = new Group(12,"数据管理") ;
    101         Group g4 = new Group(13,"接口管理") ;
    102         Group g5 = new Group(14,"备份管理") ;
    103         Action at01 = new Action(1001,"新闻发布","-") ;
    104         Action at02 = new Action(1002,"新闻列表","-") ;
    105         Action at03 = new Action(1003,"新闻审核","-") ;
    106         Action at04 = new Action(1004,"增加用户","-") ;
    107         Action at05 = new Action(1005,"用户列表","-") ;
    108         Action at06 = new Action(1006,"登录日志","-") ;
    109         Action at07 = new Action(1007,"雇员数据","-") ;
    110         Action at08 = new Action(1008,"部门数据","-") ;
    111         Action at09 = new Action(1009,"公司数据","-") ;
    112         Action at10 = new Action(1010,"服务传输","-") ;
    113         Action at11 = new Action(1011,"短信平台","-") ;
    114         Action at12 = new Action(1012,"全部备份","-") ;
    115         Action at13 = new Action(1013,"局部备份","-") ;
    116         //2、设置对象之间的基本关系
    117         //设置管理员与角色
    118         a1.setRole(r1) ;
    119         a2.setRole(r2) ;
    120         a3.setRole(r2) ;
    121         r1.setAdmins(new Admin[] {a1}) ; 
    122         r2.setAdmins(new Admin[] {a2,a3}) ;
    123         //设置角色与管理员组
    124         r1.setGroups(new Group[] {g1,g2,g3,g4,g5}) ;
    125         r2.setGroups(new Group[] {g1,g2}) ;
    126         g1.setRoles(new Role[] {r1,r2}) ;
    127         g2.setRoles(new Role[] {r1,r2}) ;
    128         g3.setRoles(new Role[] {r1}) ;
    129         g4.setRoles(new Role[] {r1}) ;
    130         g5.setRoles(new Role[] {r1}) ;
    131         //设置管理员组与权限
    132         g1.setActions(new Action[] {at01,at02,at03}) ;
    133         g2.setActions(new Action[] {at04,at05,at06}) ;
    134         g3.setActions(new Action[] {at07,at08,at09}) ;
    135         g4.setActions(new Action[] {at10,at11}) ;
    136         g5.setActions(new Action[] {at12,at13}) ;
    137         at01.setGroup(g1) ;
    138         at02.setGroup(g1) ;
    139         at03.setGroup(g1) ;
    140         at04.setGroup(g2) ;
    141         at05.setGroup(g2) ;
    142         at06.setGroup(g2) ;
    143         at07.setGroup(g3) ;
    144         at08.setGroup(g3) ;
    145         at09.setGroup(g3) ;
    146         at10.setGroup(g4) ;
    147         at11.setGroup(g4) ;
    148         at12.setGroup(g5) ;
    149         at13.setGroup(g5) ;
    150         //第二步:取出数据内容
    151         System.out.println(a1.getInfo()) ;
    152         System.out.println("	|-" + a1.getRole().getInfo()) ;
    153         for (int x = 0 ;x < a1.getRole().getGroups().length ;x ++ ){
    154             System.out.println("	|-" + a1.getRole().getGroups()[x].getInfo()) ;
    155             for (int y = 0 ;y< a1.getRole().getGroups()[x].getActions().length ;y ++ ){
    156                 System.out.println("			|-" + a1.getRole().getGroups()[x].getActions()[y].getInfo()) ;
    157             }
    158         }
    159         System.out.println("-----------------------------------------------------------------") ;
    160         System.out.println(g2.getInfo()) ;
    161         for (int x = 0 ;x < g2.getRoles().length ; x ++ ){
    162             System.out.println("	|-" + g2.getRoles()[x].getInfo()) ;
    163             for (int y = 0 ;y < g2.getRoles()[x].getAdmins().length ;y ++ ){
    164                 System.out.println("		|-" + g2.getRoles()[x].getAdmins()[y].getInfo()) ;
    165             }
    166         }
    167     }
    168 }

    这次使用了win7 自带的PowerShell,运行结果如下

  • 相关阅读:
    prometheus TSDB和外部存储系统
    Prometheus时序数据
    Prometheus简介
    Docker网络
    Ingress
    CRI和多容器运行时
    K8s容器存储接口(CSI)介绍
    EasyNVR视频广场点击视频后切换码流才能播放是什么原因?
    EasyNVR更新H265转H264模块内存增长且显示占用高如何解决?
    EasyNVR拉公网RTSP流失败问题调试和解决
  • 原文地址:https://www.cnblogs.com/jl29233zx/p/5261959.html
Copyright © 2011-2022 走看看