学习UML最麻烦的就是将UML中关系的与代码中类间的关系对应起来,我简单总结一下,以供参考。
类之间的关系可以建立四种关系:关联(associations),依赖性(dependency),累积(Aggregation),一般化(Generalization,也叫泛化)。
关联(associations)
是模型元素之间的一种语义联系,是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。
在UML中,双向关联画成两端都有或都没有箭头,而单向关联则用箭头表示关联方向。对于关联,是将属性放进类中,例如:Tea类和Cup类之间有关联关系,则将Tea属性放进Cup类中,让茶杯知道茶叶是什么,并将Cup属性放进Tea类中,让茶叶知道在什么茶杯中。
依赖性(dependency)
依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。
累积(Aggregation)
表示类之间整体和部分的关系。如汽车是由发动机,底盘,车身,电气设备组成。在生成汽车代码时,这些部件都将生成属性。
一般化(Generalization,也叫泛化)
一般化是两个类之间的继承关系。这个好理解点。
(本来想加点UML图示例和代码,不知怎么往里面放图片。)