引用传递(第一章)(多对多)

class Admin
{ private int aid;
private String time;
private int password;
private Role roles[];
public Admin(int aid,int password,String time)
{this.aid=aid;
this.password=password;
this.time=time;
}
public void setRoles(Role roles[])
{
this.roles=roles;
}
public Role[]getRoles()
{
return this.roles;
}
public String getInfo()
{
return "管理员ID和上次登录时间"+this.password+this.aid+this.time;
}

}
class Role
{
private int rid;
private String name;
private Group group;
private Admin admin;
public Role(int rid,String name)
{
this.rid=rid;
this.name=name;
}
public void setGroup(Group group)
{
this.group=group;
}
public Group getGroup()
{
return this.group;
}
public void setAdmin(Admin Admin)
{
this.admin=admin;
}
public Admin getAdmin()
{
return this.admin;
}
public String getInfo()
{
return"角色id和名称"+this.rid+this.name;
}
}
class Group
{
private int gid;
private String name;
private Role role;
private Action actions[];
public Group(int gid,String name)
{
this.gid=gid;
this.name=name;
}
public void setRole(Role role)
{
this.role=role;
}
public Role getRole()
{
return this.role;
}
public void setActions(Action actions[])
{
this.actions=actions;
}
public Action[]getActions()
{
return this.actions;
}
public String getInfo()
{
return"权限组id和名称"+this.gid+this.name;
}
}
class Action
{
private int actid;
private String name;
private Group group;
public Action(int actid,String name)
{
this.actid=actid;
this.name=name;
}
public void setGroup(Group group)
{
this.group=group;
}
public Group getGroup()
{
return this.group;
}
public String getInfo()
{
return"权限组id和名称"+this.actid+this.name;
}
}
public class PCtestth
{
public static void main(String args[])
{
Admin adm=new Admin(1,2,"6:30");
Role ro1=new Role(1001,"alice");
Role ro2=new Role(1002,"alice");
Role ro3=new Role(1003,"alice");
Group gr1=new Group(1004,"alice");
Group gr2=new Group(1005,"alice");
Group gr3=new Group(1006,"alice");
Action ac1=new Action(101,"Alice");
Action ac2=new Action(102,"Alice");
Action ac3=new Action(103,"Alice");
Action ac4=new Action(104,"Alice");
Action ac5=new Action(105,"Alice");
ro1.setAdmin(adm);
ro2.setAdmin(adm);
ro3.setAdmin(adm);
adm.setRoles(new Role[]{ro1,ro2,ro3});
gr1.setRole(ro1);
gr2.setRole(ro2);
gr3.setRole(ro3);
ro1.setGroup(gr1);
ro2.setGroup(gr2);
ro3.setGroup(gr3);
ac1.setGroup(gr1);
ac2.setGroup(gr1);
ac3.setGroup(gr2);
ac4.setGroup(gr3);
ac5.setGroup(gr3);
gr1.setActions(new Action[]{ac1,ac2});
gr2.setActions(new Action[]{ac3});
gr3.setActions(new Action[]{ac4,ac5});
//可以根据一个管理员找到它所有角色,以及对应的权限组信息,和权限组内容
System.out.println(adm.getInfo());
for (int x=0;x<adm.getRoles().length;x++)
{
System.out.print("\n"+adm.getRoles()[x].getInfo());
}
//可以根据一个权限组找到所有具有角色,以及角色对应的管理员的信息(当前没有定义roles)
System.out.println(gr1.getInfo());
for(int x=0;x<gr1.getRoles().length;x++){
System.out.println("\n"+gr1.getRoles()[x].Info());
for(int y=0;y<gr1.getRoles()[x].getAdmin().length;y++)
System.out.println("\n"+gr1.getRoles()[x].getAdmin()[y].Info());
}
}
}

 

posted @ 2018-03-29 13:50  Syiren  阅读(129)  评论(0编辑  收藏  举报