UML类图中的关系,主要有四大类,分别是:泛化关系、依赖关系、关联关系、实现关系。而其中的关联关系又可以细化为聚合关系和组合关系,所以应该是六关系。
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
思维导图:
下面我来分别介绍一下:
1、泛化(继承)关系:
通过看上面的例子,可以清楚地知道,泛化关系用空心箭头+实线表示,箭头指向父类,Cat和Dog都属于Animal。泛化是父类和子类之间的关系,子类继承父类所有结构和行为,在子类中也可以增加新的结构和行为。
2、依赖关系:
描述了类与类之间的使用和被使用关系。虚线+箭头。Animal要想生存,必须依赖Water和Oxygen,否则不能够生存。
通常情况下,依赖关系体现在某个类的方法使用另一个类做参数。
3、关联关系:关联式一种结构化的关系,一种对象和另一种对象有联系,用一条实线表示。关联关系细化为以下两种关系,聚合关系和组合关系。
3.1、聚合关系:
整体与部分的关系,如图,要想形成一辆Car,Wheel和Engine都是不可缺少的东西,重点是他们可以有各自的生命周期,比如车子的Wheel坏了,可以只买一个Wheel换新的,不会导致整辆车都换。
3、2、组合关系:
组合关系和聚合关系最大的不同点是整体和部分的生命周期是一致的,整体负责部分的生命周期管理,整体不存在部分也就没有了,实心菱形+实线箭头。如上图,一个Company是由一个或多个department组成的,这些部门没有了,公司也就不存在了。还例如,孕妇和胎儿的关系,他们存在组合关系,当胎儿诞生的那一刻,孕妇和胎儿也就不存在了,而成为妈妈和孩子了。
4:实现关系:
实现类与接口之间的关系,两个实体之间的合约,在这种关系中,类实现了接口,类中的操作实现了接口中声明的操作。如如:Vehicle的种类有很多,比如Car、Truck等等。用带虚线的三角形箭头。
搞清楚里面的关系,为下一阶做好铺垫,后续继续总结。
原文:http://blog.csdn.net/u010785685/article/details/21384573