java中聚合和组合的区别是什么
本篇文章给大家介绍java中关联、聚合和组合,让大家了解聚合和组合之间区别是什么,希望对你们有所帮助。【相关视频教程推荐:Java教程】
java中关联是什么?
关联是两个独立类之间的一种关系,它可以通过其对象(或实例)连接两个完全独立的实体。关联可以是任何类型,可以是一对一,一对多,多对一,多对多。
java中聚合是什么?
聚合是一种特殊的关联形式,代表了has-a关系;它是类(或实体)之间的一种单向关系。例如:钱包和钱,钱包会有钱,钱里面不会包含钱包;这是一种天生的单向关系。
在聚合的关系中,两种类(或实体)是可以单独存在的,不会相互影响;也就是说:一个类(或实体)的是否存在不会影响与之聚合的其他类的存在与否。
java中组合是什么?
组合是一种受限制的聚合形式,代表了part-of关系;其中的两个实体(或者类)是高度依赖于彼此的。就好比如:人类和心脏,人类需要心脏来生存,心脏也需要人体才能生存。
换句话说,当类(实体)彼此依赖并且它们的寿命相同时(如果一个人死了,那么另一个也是死去),那么它就是一个组合。例如:如果没有人类,心脏就没有意义了。
聚合和组合的区别
1、依赖性区别
聚合中的两种类(或实体)是可以单独存在的,不会相互影响;被关联的一方可以独立于关联一方,依赖性不强。
相反,组合中的两个实体(或者类)是高度依赖于彼此的,它们之间会相互影响。
2、关系类型的区别
聚合代表了has-a关系,一种单向关系;组合代表了part-of关系。
3、关联强度的不同
聚合是一种弱关联关系;组合是一种强关联关系。
4、生命周期的不同
在聚合关系中的两个类(或实体)的生命周期是不同步;但,在组合关系中的两个类(或实体)的生命周期是同步的。
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
以上就是java中聚合和组合的区别是什么的详细内容,更多请关注其它相关文章!
上一篇: Mysql删除重复的数据的方法
下一篇: 网络地址是什么
推荐阅读
-
linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱)
-
详解Java中的checked异常和unchecked异常区别
-
java中的值传递和引用传递的区别分析
-
java对象是什么意思(java中的对象和类理解)
-
java中String和StringBuffer的区别
-
Java中HashMap和TreeMap的区别深入理解
-
浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
-
正史中的诸葛亮到底是什么样的 和演义中的区别有多大
-
Java中parseInt()和valueOf(),toString()的区别
-
Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别