UML之类图的理解

在UML的

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



1.       泛化(Generalization)

【泛化关系】:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.

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





2. 实现(Realization)

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

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





3. 关联(Association)

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

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

【代码体现】:成员变量

【箭头及指向】:带普通箭头(或实心三角形箭头)的实心线,指向被拥有者





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





上图为自身关联:



4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.

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

【代码体现】:成员变量

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







5. 组合(Composition)

【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.

       组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

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







6. 依赖(Dependency)

【依赖关系】:是一种使用的关系,  即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.

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

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







各种关系的强弱顺序:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文类图UML(统一建模语言)类图是软件设计中用来描述系统结构和组件间关系的工具。它们都是基于面向对象的概念,但在表达方式和细节上存在一些差异: 1. **UML类图**:UML(Unified Modeling Language)是一个标准的、公开的图形化方法,用于可视化、理解和文档化复杂系统。UML类图是其中的基础之一,它展示了系统的静态结构,包括类(Class)、接口(Interface)、继承(Inheritance)、关联(Association)、聚集(Aggregation)和组合(Composition)等关系UML提供了标准化的符号和语法,使得跨团队交流更加一致。 2. **中文类图**:这是一个相对模糊的说法,可能指的是一般的中文软件开发者使用中文术语来描述类图。在实际应用中,这通常是在UML类图的基础上,用中文名词和概念来解释类图元素及其关系,比如“父类”、“子类”、“实现”等。这样做的目的是为了让非专业领域的人员更容易理解。 **区别**: - **标准化程度**:UML类图是国际标准,具有明确的定义和规则,而中文类图则可能是行业内的通用称呼或个人习惯用法。 - **通用性**:UML类图是全球范围内被广泛接受和使用的工具,而中文类图则受限于语言环境和使用者的背景知识。 - **精确性**:UML类图的专业词汇和符号能够准确传达设计意图,中文类图可能会因翻译或表述的差异导致理解上的误差。 **相关问题**: 1. UML类图包含哪些主要的元素? 2. 如何用UML类图表示接口和实现的关系? 3. 在项目开发中,为什么还需要用到中文类图辅助沟通?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值