2025年聚合和组合

聚合和组合聚合和组合 聚合 整体和部分可以分开 聚合关系表示一个整体与部分的关系 通常在定义一个整体类后 再去分析这个整体类的租场结构 从而找出一些成员类 该整体类和成员类之间就形成了聚合关系 在聚合关系中 成员类是整体类的一部分 即成员对象是整体对象的一部分

大家好,我是讯享网,很高兴认识大家。

聚合和组合

聚合(整体和部分可以分开)

聚合关系表示一个整体与部分的关系,通常在定义一个整体类后,再去分析这个整体类的租场结构,从而找出一些成员类,该整体类和成员类之间就形成了聚合关系。

在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。
在这里插入图片描述
讯享网
聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成。

与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在;例如, 部门撤销了,人员不会消失,他们依然存在。

实例:

public class People{ 
    Car car; House house; //聚合关系中作为成员变量的类一般使用set方法赋值 public void setCar(Car car){ 
    This.car = car; } public void setHouse(House house){ 
    This.house = house; } public void driver(){ 
    System.out.println(“车的型号:”+car.getType()); } public void sleep(){ 
    System.out.println(“我在房子里睡觉:”+house.getAddress()); } } 

讯享网
组合(整体和部分不能分开)

组合关系表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在,部分对象与整体对象之 间具有同生共死的关系。

在组合关系中,成员类是整体类的一部分,而且整体类可以控制成员类的生命周期,即成员类的存在依赖于整体类。
在这里插入图片描述
与聚合关系一样,组合关系同样表示整体由部分构成的语义;比如公司由多个部门组成。

但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了。

实例:

讯享网Public class People{ 
    Soul soul; Body body; //组合关系中的成员变量一般会在构造方法中赋值 Public People(Soul soul, Body body){ 
    This.soul = soul; This.body = body; } Public void study(){ 
    System.out.println(“学习要用灵魂”+soul.getName()); } Public void eat(){ 
    System.out.println(“吃饭用身体:”+body.getName()); } } 
两者区别

1、依赖性区别

聚合中的两种类(或实体)是可以单独存在的,不会相互影响;被关联的一方可以独立于关联一方,依赖性不强。

相反,组合中的两个实体(或者类)是高度依赖于彼此的,它们之间会相互影响。

2、关系类型的区别

聚合代表了has-a关系,一种单向关系;组合代表了part-of关系。

3、关联强度的不同

聚合是一种弱关联关系;组合是一种强关联关系。

4、生命周期的不同

在聚合关系中的两个类(或实体)的生命周期是不同步;但,在组合关系中的两个类(或实体)的生命周期是同步的。

小讯
上一篇 2025-03-11 11:58
下一篇 2025-01-05 22:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/68078.html