要进行关系设计,该数据表对应有如下的几个关系 一。 一个雇员属于一个部门,需要追加部门引用; 二。一个雇员有一个领导,领导一定是自身关联,自身引用 三。一个部门有多个雇员
//部门类class Dept{ private int deptno;//部门编号
private String dname;//部门名称
private String loc;//部门位置
private Emp emps[];//“引用关系” 多个雇员,描述多这个概念应该使用对象数组进行完成
//明确定义一个无参构造
public Dept(){
} public Dept(int deptno,String dname,String loc){//有参构造
this.deptno = deptno; this.dname = dname; this.loc = loc;
} //setter方法
public void setDeptno(int d){ this.deptno = d;
} public void setDname(String n){ this.dname = n;
} public void setLoc(String l){ this.loc = l;
} //对象数组的setter方法
public void setEmp(Emp[] e){ this.emps = e ;
} //getter方法
public int getDeptno(){ return deptno;
} public String getDname(){ return dname;
} public String getLoc(){ return loc;
} //对象数组的getter方法
public Emp[] getEmp(){ return emps;
} //取得完整信息
public String getInfo(){ return "部门编号:" + this.deptno + ",名称:" + this.dname + ",位置:" + this.loc;
}
}//员工类class Emp{ private int empno; private String ename ; private String job ; private double sal; private double comm ; private Dept dept;//“引用关系” 在雇员里面保存部门信息
private Emp mgr;//“引用关系” 在雇员里面设置领导信息
public Emp(){//无参构造
} public Emp(int empno,String ename, String job, double sal, double comm){//有参构造
this.empno = empno; this.ename = ename ; this.job = job; this.sal = sal ; this.comm = comm ;
} //setter方法
public void setEmpno(int e){ this.empno = e;
} public void setEname(String n){ this.ename = n ;
} public void setJob(String j){ this.job = j ;
} public void setSal(double s){ this.sal = s ;
} public void setComm(double c){ this.comm = c ;
} public void setMgr(Emp m){ this.mgr = m;
} public void setDept(Dept d){ this.dept = d;
} //getter方法
public int getEmpno(){ return empno;
} public String getEname(){ return ename;
} public String getJbo(){ return job;
} public double getSal(){ return sal;
} public double getComm(){ return comm;
} public Emp getMgr(){ return mgr;
} public Dept getDept(){ return dept;
} public String getInfo(){//取得完整信息
return "雇员编号:" + this.empno + ",姓名:" + this.ename + ",职位:" + this.job + ",工资:" + this.sal + ",佣金:" + this.comm ;
}
}//测试类,设置数据并取出public class TestDemo {
public static void main(String[] args) { // 产生各自的独立对象,设置数据
Dept dept = new Dept(10,"ACCOUNTING","New York");
Emp ea = new Emp(1234,"Yiyao","CLERK",900.0,0.0);
Emp eb = new Emp(1235,"Acan", "MANAGER",4000.0,9.0);
Emp ec = new Emp(1236,"Dramatic","PRESIDENT",9000.0,80.0); //设置雇员和领导关系
ea.setMgr(eb);
eb.setMgr(ec); //设置雇员和部门关系
ea.setDept(dept);
eb.setDept(dept);
ec.setDept(dept); //部门与雇员
dept.setEmp(new Emp[]{ea,eb,ec}); //取得数据
System.out.println(ea.getInfo());
System.out.println("\t|-" + ea.getMgr().getInfo());
System.out.println("\t|-" + ea.getDept().getInfo());
System.out.println("-----------------------------------------");//分割线
System.out.println(dept.getInfo()); for(int x = 0; x < dept.getEmp().length; x++){
System.out.println("\t|-" + dept.getEmp()[x].getInfo()); if(dept.getEmp()[x].getMgr() != null){
System.out.println("\t\t|-" + dept.getEmp()[x].getMgr().getInfo());
}
}
}
}//部门类class Dept{ private int deptno;//部门编号
private String dname;//部门名称
private String loc;//部门位置
private Emp emps[];//“引用关系” 多个雇员,描述多这个概念应该使用对象数组进行完成
//明确定义一个无参构造
public Dept(){
} public Dept(int deptno,String dname,String loc){//有参构造
this.deptno = deptno; this.dname = dname; this.loc = loc;
} //setter方法
public void setDeptno(int d){ this.deptno = d;
} public void setDname(String n){ this.dname = n;
} public void setLoc(String l){ this.loc = l;
} //对象数组的setter方法
public void setEmp(Emp[] e){ this.emps = e ;
} //getter方法
public int getDeptno(){ return deptno;
} public String getDname(){ return dname;
} public String getLoc(){ return loc;
} //对象数组的getter方法
public Emp[] getEmp(){ return emps;
} //取得完整信息
public String getInfo(){ return "部门编号:" + this.deptno + ",名称:" + this.dname + ",位置:" + this.loc;
}
}//员工类class Emp{ private int empno; private String ename ; private String job ; private double sal; private double comm ; private Dept dept;//“引用关系” 在雇员里面保存部门信息
private Emp mgr;//“引用关系” 在雇员里面设置领导信息
public Emp(){//无参构造
} public Emp(int empno,String ename, String job, double sal, double comm){//有参构造
this.empno = empno; this.ename = ename ; this.job = job; this.sal = sal ; this.comm = comm ;
} //setter方法
public void setEmpno(int e){ this.empno = e;
} public void setEname(String n){ this.ename = n ;
} public void setJob(String j){ this.job = j ;
} public void setSal(double s){ this.sal = s ;
} public void setComm(double c){ this.comm = c ;
} public void setMgr(Emp m){ this.mgr = m;
} public void setDept(Dept d){ this.dept = d;
} //getter方法
public int getEmpno(){ return empno;
} public String getEname(){ return ename;
} public String getJbo(){ return job;
} public double getSal(){ return sal;
} public double getComm(){ return comm;
} public Emp getMgr(){ return mgr;
} public Dept getDept(){ return dept;
} public String getInfo(){//取得完整信息
return "雇员编号:" + this.empno + ",姓名:" + this.ename + ",职位:" + this.job + ",工资:" + this.sal + ",佣金:" + this.comm ;
}
}//测试类,设置数据并取出public class TestDemo {
public static void main(String[] args) { // 产生各自的独立对象,设置数据
Dept dept = new Dept(10,"ACCOUNTING","New York");
Emp ea = new Emp(1234,"Yiyao","CLERK",900.0,0.0);
Emp eb = new Emp(1235,"Acan", "MANAGER",4000.0,9.0);
Emp ec = new Emp(1236,"Dramatic","PRESIDENT",9000.0,80.0); //设置雇员和领导关系
ea.setMgr(eb);
eb.setMgr(ec); //设置雇员和部门关系
ea.setDept(dept);
eb.setDept(dept);
ec.setDept(dept); //部门与雇员
dept.setEmp(new Emp[]{ea,eb,ec}); //取得数据
System.out.println(ea.getInfo());
System.out.println("\t|-" + ea.getMgr().getInfo());
System.out.println("\t|-" + ea.getDept().getInfo());
System.out.println("-----------------------------------------");//分割线
System.out.println(dept.getInfo()); for(int x = 0; x < dept.getEmp().length; x++){
System.out.println("\t|-" + dept.getEmp()[x].getInfo()); if(dept.getEmp()[x].getMgr() != null){
System.out.println("\t\t|-" + dept.getEmp()[x].getMgr().getInfo());
}
}
}
}相关文章:
Java 基础 byte[]与各种数据类型互相转换的简单示例
以上就是数据表和简单的Java转换 _引用关系的实战案例的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号