【学习笔记】类与类之间的关系

本文介绍了面向对象编程中的两种重要关系:类usea(使用另一个类的对象作为方法参数)和类hasa(包含另一个类的对象作为属性)。通过实例展示了在雇员类(Emp)中如何包含部门类(Dept)对象,以及部门类如何包含雇员类对象的一对一和一对多关系。这些例子展示了如何在实际编程中实现类之间的关联和依赖,以提高代码的复用性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、类 use a 类
      在一个类的方法的参数中,用的是另一个类的对象

如(参考前文《多态》):

public class Master {
    public void cure(Pet pet) {
        pet.toHospital();
    }    
}

2、类 has a 类
     在一个类中定义另一个类的对象或对象数组,作为当前类的属性
(1)一对一
      在雇员类中定义部门类的对象作为属性

    public static void main(String[] args) {
        Dept dept1=new Dept("001","研发部");
        Emp emp1=new Emp("1001","tom",7000,dept1);
        System.out.println(emp1.getDept().getDeptName());
    }

//Dept.java文件

public class Dept {
    private String deptId;
    private String deptName;

getter+setter

}

//Emp.java文件

public class Emp {
    private String empNo;
    private String empName;
    private double salary;
    private Dept dept;

getter+setter

}

//输出结果:

研发部

(2)一对多
     在部门类中定义雇员类的数组作为属性

   如:

 public static void main(String[] args) {    
        Emp[] emps=new Emp[3];
        emps[0]=new Emp("1001","tom",7000);
        emps[1]=new Emp("1002","jack",8000);
        emps[2]=new Emp("1003","amy",6000);
        Dept dept1=new Dept("001","研发部");
        dept1.setEmps(emps);
        System.out.println(dept1.getDeptName());
        for(int i=0;i<dept1.getEmps().length;i++) {
            System.out.println(dept1.getEmps()[i].getEmpName()+"\t"+dept1.getEmps()[i].getSalary());
        }
    }

//Emp.java文件

public class Emp {
    private String empNo;
    private String empName;
    private double salary;

getter+setter

}

//Dept.java文件

public class Dept {
    private String deptId;
    private String deptName;
    private Emp[] emps;

getter+setter

}

//输出结果:

研发部
tom    7000.0
jack    8000.0
amy    6000.0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值