UML补充学习(关联、依赖、聚合、组合、泛化)

来源:互联网 发布:开网络直播公司流程 编辑:程序博客网 时间:2024/05/10 02:04

有幸看到一篇不错的文章,出自http://student.csdn.net/space.php?uid=1394199&do=blog&id=51397&page=2#content

由于作者不允许转载,因此仅附上链接并摘取了其中部分重点内容,支持原创,坚持学习。

1、关联(Association)。指类之间的引用关系。是实体域对象之间最普遍使用最广泛的一种关系,分为一对一,一对多,多对多。在代码中如何体现?在类A中,引入类B的对象作为A类的一个属性。这样就建立了一对一或一对多关联。
image

2、依赖指类之间的访问关系。A类中访问了B类的方法或属性,或者A类负责实例化B类,则可以说A类依赖于B类
image

3、聚合。强调整体和部分的关系,也就是has-a的关系,整体和部分是可以分离的,有各自的生命周期(是一种比较弱的联系)。
image

4、组合。也就整体和部分的关系,但是两种不可分割的,任何一个生命周期结束则另一个也结束(是一种强联系)。
image

5、泛化(Generalization)。在面向对象里面叫做"继承"关系。两种是派生关系,也可以说是父子关系,或者称为"is-a"。
image

补充:
      其实,依赖关系和关联关系有点像,比较难分开。我认为,关联关系比较弱,仅限于对象属性的操作(get,set)。依赖关系较强,比如方法调用(如果没有这个方法,无法完成某项活动)
      附上另一篇:http://www.blogjava.net/hongzionline/archive/2007/09/27/148685.html

原创粉丝点击