首页   

UML 类图中,常见的有以下几种关系 : 泛化( Generalization , 实现( Realization , 关联( Association , 聚合( Aggregation , 组合 (Composition) ,依赖 (Dependency)

1. 泛化( Generalization)

【泛化关系】:是一种继承关系, 它指定了子类如何特化父类的所有特征和行为。 例如:老虎是动物的一种.

【箭头指向】:带三角箭头的实线,箭头指向父类

2. 实现( Realization )

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现

【箭头指向】:带三角箭头的虚线,箭头指向接口

3. 关联(Association

关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法; 如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。 图为自身关联:

4. 聚合(Aggregation

【聚合关系】:是整体与部分的关系. 如车和轮胎是整体和部分的关系.

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

5. 组合(Composition)

【组合关系】:是整体与部分的关系. 没有公司就不存在部门 组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

6. 依赖(Dependency)

【依赖关系】:是一种使用的关系, 所以要尽量不使用双向的互相依赖

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

各种关系的强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

下面这张UML 图,比较形象地展示了各种类图关系:

1.假设有两个类A和B。其 A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B。A是依赖方,B是被依赖方。 2. 关联关系 是一种强依赖 关系 。 3. 聚合 关系 关联关系 类似,都体现在成员变量上,它们的区别在于: 关联关系 双方是平等的,是个体和个体的 关系 聚合 关系 双方不是平等的,是整体和部分的 关系 。 4. 组合 关系 是一种强 聚合 关系 UML 类图 ,一共有以下六大 关系 泛化 (Generalization), 实现 (Realization), 依赖(Dependence), 关联 (Association), 聚合 (Aggregation) , 组合 (Composition)。 1、 泛化 (Generalization) 即继承,是对象之间耦合度最大的一种 关系 ,子类继承父类(或者是子接口继承父接口),... 转自:http://kb.cnblogs.com/page/129490/ 在 UML类图 常见 的有以下 几种 关系 : 泛化 (Generalization), 实现 (Realization), 关联 (Association), 聚合 (Aggregation), 组合 (Composition),依赖(Dependency)   1. 泛化 (Generalization)   【 泛化 关系 】:... UML类图 关系 分为四种: UML类图 依赖 关系 泛化 关系 关联关系 实现 关系 关联关系 又可以细化为 聚合 组合 。希望本文的介绍对你有所帮助。 2013云计算架构师峰会课程资料下载       [ UML ] UML 系列——用例图Use Case       [ UML ] UML 系列——用例图 的各种 关系 (include、extend)       [ UML ] UML 系列—— 类图 Class       [ UML ] UML 系列—— 类图 class的 关联关系 聚合 组合 )       [ UML ] UML 系列—— 类图 class的依赖 关系 泛化 关系 的引入       在现实生活... 类图 常见 的有以下 几种 关系 : 泛化 (Generalization), 实现 (Realization), 关联 (Association), 聚合 (Aggregation), 组合 (Composition),依赖(Dependency) 1. 泛化 (Generalization) 【 泛化 关系 】:是一种继承 关系 ,表示一般与特殊的 关系 ,它指定了子类如何特化父类的所有特征和行为.... 泛化 (Generalization) 关系 也就是**继承 关系 **,用于描述父类与子类之间的 关系 ,父类又称为基类或超类,子类又称为派生类 在 UML 泛化 关系 用带空心三角形的直线来表示 在代码 实现 时,使用面向对象的继承机制来 实现 泛化 关系 ,在Java语言 使用extends关键字、在C++/C# 使用冒号“:”来 实现 学生和老师都是人的子类 Java代码 实现 : public class Person { protect 现在学到了设计模式,发现 UML 的很多 关系 又用到了。设计模式书上很多代码前面都会有代码结构图,如果代码结构图都看不懂,即使代码明白了也没什么卵用。于是又回顾了一遍 UML 知识。温故而知新,写下这篇博客。 UML 九种图 UML 几种 关系 关联关系 :表示两个类或者类与接口之间语义级别的一种强依赖 关系 ,它使一个类知道另一个类的属性和方法。 关系 不是临时性的,一般是长期性的。 单向 关联 :A——&... UML 类与类,已经类与接口,接口与接口的 关系 有: 泛化 (generalization), 关联 (association),依赖(dependency), 实现 (realization)这 几种 泛化 (generalization) 关系 时指一个类(子类、子接口)继承另外一个类(称为父类、父接口)的功能,并可以增加它自己新功能的能力,继承是类与类或者接口与接口最 常见 关系 ,在Java 通... 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最 常见 关系 ;在Java 此类 关系 通过关键字extends明确标识,在设计时一般没有争议性; 指的是一个class类 实现 interface接口(可以是多个)的功能; 实现 ... 类与 类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、 关系 的对象集合的总称。 2) 在系统 ,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解... (1) 泛化 (generalization) 泛化 (generalization) 关系 是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,箭头指向:带三角箭头的实线,箭头指向父类。 (2) 实现 (realization) 实现 (realization) 关系 是指一个类 实现 一个或多个接口的功能,表示类是接口... 类图 关系 面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。而不同的类之间,应该做到松耦合。当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的 关系 可以分为以下几类: 泛化 关系 实现 关系 依赖关... 在设计模式里只提到了继承 关系 ,其实继承 关系 泛化 关系 的图上标示是一样的,很好奇为什么不说是 泛化 关系 ,所以在这里就写一些 泛化 和继承的对比。 一、百科里是这样解释的: 泛化 关系 是类元的一般描述和具体描述之间的 关系 ,具体描述建立在一般描述的基础之上,并对其进行了扩展。具体描述与一般描述完全一致所有特性、成员和 关系 ,并且包含补充的信息 泛化 是可传递的,可以跨越任意层次。术语祖先(ancestor)和 UML 类与类, 类与接口, 接口与接口这间的 关系 有: 泛化 (generalization) 关系 , 关联 (association) 关系 ( 关联 , 聚合 , 合成), 依赖(dependency) 关系 实现 (realization) 关系 . 泛化 (generalization) 关系 是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最 常见 关系 ;在Java 此类 关系 通过关键字extends明确标识,在设计时一般没有争议. 用例图使用户 与开发人员交流的一种重要的方式,是对用户需求的一种描述。开发人员从用户的角度整体上理解系统的功能。 用例图主要有三种元素:参与者(Actor),用例,以及用例图 对象间到的 关系 。其 关系 有包含、扩展是用例图 特有的, 泛化 在其他 类图 同样存在。 public class RealizationTest { public static void main(String[] args) { Student student = new Stud...
© 2022 微搜