UML总结之(UML中的关系)
UML中的关系(Relationships)主要包括5种:关联关系、聚合关系、依赖关系、泛化关系和实现关系。
1、关联关系:
是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,以及其中的一个类的对象访问到另一个类的相关对象。关联可以有方向,表示关联在某方向被使用。只在一个方向上存在的关联,称作单向关联(Unidirectional Association)或者叫导航关联,两个方向上的是双向关联(Bidirectional Association)。 关联有自身关联和关联类。2、聚合关系:
聚合也称聚集,是关联的特例。聚合表示类与类之间的关系是整体与部分的关系,即一个表示整体的模型元素可能由几个表示部分的模型元素聚合而成。如果部分类完全隶属于整体类,部分与整体共存,整体不在了部分也会随之消失(或失去存在的价值),则称为复合聚合(简称组成)。如果再聚集的关系中处于部分的对象可同时参与多个处于整体方对象的构成,则为共享聚合。 组合关系: 组合关系是在聚合关系之上的更加紧密的耦合关系,它同样是描述元素之间部分与整体的关系,但是部分类需要整体类才能生存,当整体消亡部分类将同时消亡。3、依赖关系:
依赖关系描述两个模型元素(类、用例等)之间的语义关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变,将影响依赖它的元素。4、泛化关系:
普通泛化:就是没有给泛化添加约束。在UML图中,普通泛化关系用一条带有空心箭头的实现来表示; 受限泛化:可以给泛化关系附加约束条件,说明该泛化关系的使用方法或扩充方法,称为受限泛化。预定义的约束有4种:多重、不相交、完全和不完全。这些都是语义约束。5、实现关系:
实现关系将一种模型元素(如类)与另一种模型元素(接口)连接起来,其中接口只是行为的说明而不是结构或者实现。真正的实现由前一个模型元素来完成。 通常实现会在两种地方遇到实现关系: (1)一种是在接口和实现它们的类或构件之间 (2)另一种是在用例和实现它们的协作之间。下面是这几种关系的图:
总结的不太好,希望各位读者指出不足,感谢您的阅读!