UML中的几种关系(UML Relationships)

依赖(Dependency)

依赖可以理解为一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用。

图形表示如下:

代码实现如下(C#):

PS:企鹅依赖于气候,一但南极春天到来,温度小于-10度后,它们将集体迁移到北极去。

关联(Association )

关联和泛化是依赖的两种特别形式,关联可是是单向关联和双向关联,单向关联是指某一个类中包含另一个类的全部或一部份,而被包含的类是不知道另一个类的存在。双向关联是指两个类中互相包含或引用,它们彼此都知道对方的存在。

用图形表示如下 :

PS:此图显示了两个类的双向关联的关系

用代码实现如下:

一个人可以同时拥有多本书,同样,一本书可以被多人拥有(双向关联)

关联类(Association Class)

关联类本质上是一个类附加在一个关联中,被用来作为UML类来建模一种关联关系,它有其自己的名称,属性和方法。然而,它所描述的属性并不属于关联中的对象。比如:一个员工类与一个公司类产生一个合同类的关联后,合同类中的签字日期 这个属性并不属于员工类或公司类。

用图形表示如下:

聚合(Aggregation)

聚合是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的 拥有 关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。

用图形表示如下:

   
PS:一个教授拥有一个班级,一个班级至少由一个学生组成(整体 ---> 个体)。

组合(composition)

组合是关联关系的一种,比聚合关系更强,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。组合关系是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。

用图形表示如下:

PS:一个图书馆由多本书组成,当图书馆的生命周期结束后,组合的关系将不存在,books的生命周期也将结束。

时间: 2024-10-10 02:43:21

UML中的几种关系(UML Relationships)的相关文章

【转】UML中的几种关系详细解析

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依

UML中的四种关系总结

UML中的关系主要包括四种:关联关系.依赖关系.泛化关系.实现关系.其中关联关系还包括聚合关系和组合关系. 1. 关联关系(Association) 关联关系式一种结构化的关系,是指一种对象和另一种对象有联系.给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象.关联关系用一条实线表示. 示例 1.1.  聚合关系(Aggregation) 聚合是关联的特例.聚合是表示整体与部分的关系,即has a 关系.聚合关系中的整体和部分是可以分离的,他们可以具有各自的生命周期,部分可以数据

盘点UML中的四种关系

生活中,我们既是独立的个体,又通过联系形成各种关系,比如说:朋友,恋人,父子,同学--于是乎,出现了神乎其神的六人定律.那么在UML中又存在什么样的关系呢?下面我们来梳理一下. 关联(Association) 描述了两个或多个类之间的结构性关系. 图示:直线或直线+箭头 双向关联: 指双方都知道对方的存在,都可以调用对方的公共属性和方法. 箭头及指向:双向的关联可以有两个箭头或者没有箭头 例1:公司和人 将来在Person类中会有属性名为employer,类型为Company ;在Company

UML中的四种关系

一.Association关联关系 说明:Assocition(关联):描述了两个或多个类之间的结构性关系. (1)普通关联: 1)Association name名称:用以描述该关系的性质. 2)Role角色:当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色:角色是关联中靠近它的一端的类对另外一端的类呈现的职责. 3)Multiplicity多重性:关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象. 例如(): Public Class Person Privat

UML类图中的几种关系总结

       UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency).关联(Association).聚合(Aggregation).组合(Composition).泛化(Generalization).实现(Realization)等. 依赖(Dependency) A依赖B,表示A会使用B的行为或属性,但B不能使用A的行为.属性,那么A和B的关系是依赖关系. uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素. 演示样例代码 : class B

转 UML类图几种关系的总结

UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向

UML中的6大关系详细说明

UML中的6大关系详细说明: 1.关联关系: 含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法:通常含有"知道","了解"的含义 体现:在C#中,关联关系是通过成员变量来实现的: 方向:双向或单向: 图示:实线 + 箭头:箭头指向被关联的类:2.依赖关系: 含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义:依赖关系仅仅描述了类与类之间的一种使用与被使用的关系: 体现:在C#中体现为局部变量.方法/函数的参数或者是对静态方法的调用: 方向:

【转载】UML类图几种关系的总结

因为有的时候很久不弄UML图,老是忘记几个常见的连接线的意思,这篇完全说转载:UML类图几种关系的总结 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的

UML类图五种关系与代码的对应关系

转: UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承 一.依赖关系: (一)说明 虚线+箭头 可描述为:Uses a 依赖是类的五种关系中耦合最小的一种关系. 因为在生成代码的时候,这两个关系类都不会增加属性. (二)依赖关系图与代码的对应关系 (PS:依赖关系:Animal依赖于Water(动物依赖于水)) [csharp] view plaincopyprint? Public class Animal() { Public Animal(){} } Pub