类间关系的种类

1:类间关系的种类

2:关联

描述了系统中对象或实例之间的离散连接,关联带有系统中各个对象之间关系的信息。

2.1关联表示法

2.2聚集与组合

3:泛化,继承【Generalization】

泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。

4: 实现【realization】

实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。

5:依赖【Dependence】

依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。

5.1依赖的种类

访问:允许一个包访问另一个包【access】

绑定:为模板参数赋值以生成一个新的模型元素【bind】

调用:声明一个类调用其他类的方法【call】

导出:声明一个实例可以从另一个实例中到处【derive】

友元:允许一个元素访问另一个元素而不论被访问元素的可见性【friend】

引入:允许一个包访问另一个包的内容并未被访问包的组成部分添加别名【import】

实例化:关于一个类的方法生成了另一个类的实例的生命【instantate】

参数:一个操作和他参数之间的关系【parameter】

实现:说明和其实之间的映射关系【realize】

精化:声明具有两个不同层次上元素的映射关系【refine】

发送:信号发送者和信号接受者之间的关系【send】

跟踪:声明不同模型中元素之间的连接,没有映射精确【trace】

使用:声明使用一个模型元素需要已存在的另一个模型元素,这样才能正确实现使用者的功能(调用,实例化,参数,发送)【use】

6:约束

约束可以用来表示各种非局部的关系,如关联路径上的限制。约束尤其可以用来表述存在特性(存在X则C条件成立)和通用特性(对于Y中的所有y,条件D必须成立)。

7:实例

实例是有身份标识的运行实体,即它可以与其他运行实体相区分。它在任何时刻都有一个值,随着对实例进行操作值也会被改变。

 

转自:http://www.uml.org.cn/oobject/200910191.asp

### UML 图中的关系类型及其含义 UML图用于描述系统的静态结构,其中定义了多种关系类型来表达或对象之间的交互方式。以下是常见的几种关系类型及其具体含义: #### 1. 关联关系 (Association) 关联关系是一种语义上的连接,表示两个之间存在某种逻辑联系。它通常是双向的,但在某些情况下可以指定为单向。 - **特点**: 使用一条直线连接两个,在线上标注角色名和多重性(如`0..*`, `1..n`等)。如果指定了方向,则在线的一端加上箭头。 - **用途**: 描述之间的基本交互行为。例如,“学生注册课程”,可以通过关联关系体现学生的选课操作[^2]。 #### 2. 聚合关系 (Aggregation) 聚合是关联的一种特殊形式,表示整体与部分的关系,但部分可以独立于整体而存在。 - **特点**: 用带空心菱形的线段表示,菱形靠近整体一侧。 - **例子**: “汽车”由多个“轮胎”组成,即使没有汽车,轮胎仍然能够单独存在[^3]。 #### 3. 组合关系 (Composition) 组合也是关联的一个特例,但它强调更强的整体性和依赖性——部分无法脱离整体而生存。一旦整体销毁,其所有的组成部分也会随之消失。 - **特点**: 和聚合相似,不过这里的菱形是实心填充。 - **实例**: 对象内的嵌套组件;比如窗口包含按钮控件,当关闭该窗口时,所有子控件都会被清除[^4]。 #### 4. 泛化关系 (Generalization) 泛化体现了父与子的继承机制。“is-a”的概念正是基于此建立起来的。 - **表现形式**: 利用带有三角尖端的实线指向超(即基),表明当前实体是从某个更通用的概念衍生出来的特定版本。 - **样例代码展示**: ```cpp // C++ 示例:B 是 A 的子 class A {}; class B : public A {}; // 这里展示了从A到B的泛化过程。 ``` #### 5. 实现关系 (Realization) 实现主要用于接口与其实现者之间,意味着某物实现了另一事物所规定的契约或者协议。这在支持显式接口的语言中尤为普遍。 - **外观特征**: 配备虚线加闭合圆圈末端的连线,指示目标满足源设定的要求。 - **实际应用案例**: Java 接口与其对应的实现就存在着这样的绑定。 #### 6. 依赖关系 (Dependency) 最后提到的是最松散的一种耦合形态—依赖。只要一方发生变化可能会影响到另一方即可认定两者相互依存。 - **视觉呈现**: 带有开口箭头的虚线,指出受影响的方向。 - **典型场景**: 函数接收某一类型的参数作为输入或将此别的实例当作临时变量处理均构成典型的依赖情形[^1]。 以上就是关于UML图主要涉及的不同种类关系概述说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值