UML 类图关系及符号表达

UML 类图关系及符号表达

UML 类图中有以下几种常见的关系,依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization),下面对这几种关系及其表达方式做一个极简的介绍。

依赖(Dependency)

表示一个类对不在其实例作用域内的另一个类或对象的引用,通常有以下几种情况的依赖:

  1. 局部变量
  2. 方法的参数或返回值
  3. 静态方法的调用
符号:虚线箭头

关联(Association)

表示一个类持有另一个类或对象,是一种 “has-a” 关系,通常表现为:

  1. 字段
  2. 属性
符号:实线箭头

聚合(Aggregation)

表示一种 “强” 关联关系。与关联相比,关联中的两个类型是同一层次的,而聚合中的两个类处于不同层次,强调整体和部分。举例:班级-学生。

在聚合关系中,部分可以离开整体而存在,部分的生命周期不受整体约束。如果 A 由 B 聚合而成,则 A 包含 B 的全局对象,但 B 对象可以不在 A 对象创建时创建。

符号:空棱形实线箭头

组合(Composition)

表示一种 “强” 聚合关系。与聚合相比,聚合更多地强调同一类型的聚在一起合成了整体,而组合中的部分往往不是同一类型的。举例:人-头(手、脚)、汽车-轮胎(发动机)。

在组合关系中,整体离不开部分,部分的存活周期小于或等于整体,通常在整体的构造方法中实例化部分。

符号:实棱形实线箭头

泛化(Generalization)

即经常所说的继承,是一种 “is-a” 关系。

符号:实线空三角形

实现(Realization)

即通常所说的接口实现。

符号:虚线空三角形

总结

1、引用两张图来形象地展示各种 UML 类图关系:

2、各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 。

3、最后,推荐大家使用 ProcessOn 在线软件来绘制 UML 图。

参考资料

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

Ironyho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值