java入门 学习日志九(面向对象七)
数据表与简单java类映射
一个部门可以有多个雇员,可以用对象数组完成。
class Dept{ //部门类
private int deptno; //部门编号
private String dname; //部门名称
private String loc; //部门位置
private Emp emp[]; //若干雇员
public Dept(int deptno,String dname,String loc) { //构造方法初始化部门信息
this.deptno=deptno;
this.dname=dname;
this.loc=loc;
}
public void setEmp(Emp emp[]) { //设置雇员信息
this.emp=emp;
}
public Emp[] getEmp() { //获取雇员信息
return this.emp;
}
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 Emp mgr;//领导
private Dept dept;//部门
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;
}
public void setMgr(Emp mgr) {//设置领导信息
this.mgr=mgr;
}
public Emp getMgr() {//获取领导信息
return this.mgr;
}
public void setDept(Dept dept) {//设置部门信息
this.dept=dept;
}
public Dept getDept() {//获取部门信息
return this.dept;
}
public String getInfo() {//获取雇员信息
return "雇员编号:"+this.empno+" 雇员姓名是:"+this.ename+" 雇员职位是:"+this.job+" 雇员基本工资是:"+this.sal+" 雇员佣金是:"+this.comm;
}
}
public class Demo1{
public static void main(String args[]) {
Dept dept = new Dept(01,"保安大队","白宫");
Emp e1=new Emp(1,"老付","队长",999999.123,99999.567);
Emp e2=new Emp(2,"小付","副队长",88888.123,88888.123);
Emp e3=new Emp(3,"张三","保安",6666.123,6666.123);
Emp e4=new Emp(4,"李四","保安",6666.123,6666.123);
e1.setDept(dept);
e2.setDept(dept);
e3.setDept(dept);
e4.setDept(dept);
e2.setMgr(e1);
e3.setMgr(e1);
e4.setMgr(e2);
dept.setEmp(new Emp[] {e1,e2,e3,e4});
System.out.println(e4.getInfo());//雇员信息
System.out.println("\t|-"+e4.getMgr().getInfo());//雇员的领导信息
System.out.println("\t|-"+e4.getDept().getInfo());//雇员的部门信息
for(int i=0;i<dept.getEmp().length;i++) {//获取部门雇员信息
System.out.println("\t|-"+dept.getEmp()[i].getInfo());
}
}
}