UML关系(泛化,关联,依赖,实现,组合,聚合)

UML中常见类与类,类与接口,接口与接口,常见有泛化(generalization),关联(association),依赖(dependency),实现(realization)。

(1)Association(关联):描述了两个或多个类之间或者类与接口之间的强依赖关系。比依赖强烈,是一种长期性的关系,指出了一个事物的对象与另一个事物的对象之间的语义上的连接。关联是最常见的关系。

表达方式:使用单箭头表示单向关联,使用双箭头或直线表示双向关联。

关联有两个基数,一个端点一个。常见的基数及其含义:

0...1:0或1个实例。

0...*:0到无限

1:只有一个实例

1...*:至少有一个实例。

聚合和组合关系是其中一种整体和部分关系

 例:一个员工只属于一个公司,一个公司可以有多个员工。

UML关系(泛化,关联,依赖,实现,组合,聚合)_第1张图片

两个特例:聚合和组合,在最后面。 

(2)Dependency(依赖):表示类与类之间的连接。就是单向使用。凡是人类都使用空气,这种必须的需求,我们称之为依赖关系。这种依赖具有偶然性,临时性,非常弱的关系。

用带箭头的虚线表示,指向依赖物。表达方式:

例:前面的Client或者ClientPackage要用到后面的类或者构件。这就是依赖关系。

UML关系(泛化,关联,依赖,实现,组合,聚合)_第2张图片

例二: 一个类的方法,getcontactinformation()用到了contctinformation类。getpersonalrecords()用到了personnelrecord类。所以是依赖关系。如图:

UML关系(泛化,关联,依赖,实现,组合,聚合)_第3张图片

 (3)Generalization(泛化/继承):是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素继承了父元素的结构和行为,并可以增加它自己的新功能。

泛化关系用来描述类的一般和具体之间的关系。是类与类或者接口与接口最常见的关系。

UML关系(泛化,关联,依赖,实现,组合,聚合)_第4张图片

表达方式:箭头执行父元素。

例:Employee是父元素,给Employee赋予一个属性,下面的Engineer和Manager都会拥有这个属性,增加了软件的复用性,减少维护代价。

UML关系(泛化,关联,依赖,实现,组合,聚合)_第5张图片

(4)Realization(实现):是指一个class实现一个或多个接口,表示类具备了某种能力,实现是类与接口中最常见的关系。

表示方式:箭头指向接口。

例:类实现了一个接口:

UML关系(泛化,关联,依赖,实现,组合,聚合)_第6张图片

(5)聚合:

可以相互独立存在的叫聚合,例如书架和书。

UML关系(泛化,关联,依赖,实现,组合,聚合)_第7张图片

(6)组合:组合与聚合几乎完全相同,唯一区别就是对于组合,“部分”不同脱离“整体”单独存在,其生命周期应该是一致的。比如你和你的大脑。

用如下表示:

依赖 < 关联 < 聚合 < 组合

 

 

你可能感兴趣的:(UML)