java中聚合和组合的区别有哪些

发布时间:2020-09-09 10:00:53 作者:小新
来源:亿速云 阅读:319

这篇文章将为大家详细讲解有关java中聚合和组合的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

java中关联是什么?

关联是两个独立类之间的一种关系,它可以通过其对象(或实例)连接两个完全独立的实体。关联可以是任何类型,可以是一对一,一对多,多对一,多对多。

java中聚合是什么?

聚合是一种特殊的关联形式,代表了has-a关系;它是类(或实体)之间的一种单向关系。例如:钱包和钱,钱包会有钱,钱里面不会包含钱包;这是一种天生的单向关系。

在聚合的关系中,两种类(或实体)是可以单独存在的,不会相互影响;也就是说:一个类(或实体)的是否存在不会影响与之聚合的其他类的存在与否。

java中聚合和组合的区别有哪些

java中组合是什么?

组合是一种受限制的聚合形式,代表了part-of关系;其中的两个实体(或者类)是高度依赖于彼此的。就好比如:人类和心脏,人类需要心脏来生存,心脏也需要人体才能生存。

换句话说,当类(实体)彼此依赖并且它们的寿命相同时(如果一个人死了,那么另一个也是死去),那么它就是一个组合。例如:如果没有人类,心脏就没有意义了。

聚合和组合的区别

1、依赖性区别

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

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

2、关系类型的区别

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

3、关联强度的不同

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

4、生命周期的不同

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

关于java中聚合和组合的区别有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. windows 2012 NIC组合 端口聚合和cisco
  2. php版本7和5区别有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java ava

上一篇:JDK,JRE和JVM之间的区别有哪些

下一篇:C# 如何创建Excel多级分组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》