让你更容易理解java中类之间的6种关系

来源:互联网 发布:淘宝商品详情api 编辑:程序博客网 时间:2024/06/11 21:06

继承关系

继承关系包括子类和父类、子接口和父接口之间两种继承关系。用空心三角形和实线表示这种继承关系。
继承关系

实现关系

类和接口之间的关系,用空心三角形和虚线表示。

这里写图片描述

依赖关系

依赖关系:A类会用到B类,这种关系具有偶然性,临时性。但B类的变化会影响A类。这种在代码中的体现为:A类方法中的参数包含了B类。
由虚线和箭头表示。
这里写图片描述

关联关系

关联关系:A类会用到B类,这是一种强依赖关系,是长期的并非偶然。在代码中的表现为:A类的成员变量中含有B类。
由实线和箭头表示。
这里写图片描述

聚合关系

聚合是关联关系的一种特例,是整体和部分的关系,即has-a的关系。整体和部分之间是可分离的,拥有各自的生命周期。
和组合关系的整体和部分关系不同的是:该整体包含很多个部分,但这里的部分都是相同的。比如鸟群和鸟的关系是聚合关系,鸟群中每个部分都是鸟。
由空心菱形和实线箭头表示。
这里写图片描述

组合关系

组合关系也是关联关系的一种特例,它体现一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分的关系,但这种整体和部分是不可分割的,他们具有相同的生命周期。
和聚合关系相比:这种部分和整体的关系表现为,整体包含该部分,但也包含其他部分,其他部分和该部分并不相同。比如cpu和计算机是组合关系,计算机包含cpu,但又不仅仅是cpu还有屏幕键盘等。其他的部分不和cpu是同样的。
由实心菱形和实线箭头表示。
这里写图片描述

阅读全文
0 0
原创粉丝点击