uml图中的各种箭头_C++中的UML类图

db00a5c410c800a1efb7b55cd3e53afc.gif点蓝色字关注“CurryCoder的程序人生”

微信公众号:CurryCoder的程序人生
欢迎关注我,一起学习,一起进步!

1deed54c6d64bed8e8b62b1dbb7e8944.png


1.什么是UML?

UML即统一建模语言,它是用于开发、说明、可视化与构建一个面向对象软件的一种方法。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。UML类图将用户所希望描述的事物抽象为类,描述类的内部与多个类之间的设计视图。为之后学习各种设计模式打下基础,因为我们可以通过一种直观的表示方法来描述设计模式。

2.UML模型结构

UML是一种主要由图形符号表示的建模语言,其结构主要包括: 视图 :从不同角度来表示待建模的系统,视图是由很多图形组成的一个抽象集合;一个系统模型可能有多个视图,每个视图从特定角度来描述系统的特征,比如用户视图、结构视图、行为视图、实现视图等。 :图是UML视图内容的图形,比如用例图、类图、对象图、包图等。 模型元素:UML图中使用的一些概念,如类、对象、消息以及各种关系等。 通用机制:UML提供的通用机制为模型元素提供额外的注释、语义和扩展机制,允许用户对UML进行扩展。 3.UML中类的表示 类是由一个矩形框表示的,矩形框分为三层。如下图所示:

bafd8620585c49d730527feac2c87272.png


第一层:类的名称,如果该类是抽象类,则使用斜体;

第二层:类的属性,即成员变量。格式为:[外部可见性]名称:类型[=默认值];

第三层:类的方法,即成员函数。格式为:[外部可见性]名称([参数列表])[:返回值类型];

外部可见性说明:

-:private(私有)

+:public(公有)

#:protect(保护)


56fb9559464a2456b95aab55ff6e4da3.png


4.UML中类之间的关系 4.1 泛化

含义:类的继承关系

表示:用空心三角形和实线构成,空心三角形指向父类;

举例:狗和猫都属于动物类。

f8ba7da797b07d6a2d6b08f36574e7b7.png


4.2 实现

含义:类与接口的关系,表示类是接口所有特征和行为的实现。

表示:用空心三角形和虚线表示,空心三角形指向接口。

举例:狗和猫实现了动物的吃和跑的接口。

4a300b3a6fe72697edf4f127cc928d6f.png

4.3 关联

关联是一种拥有(has a)关系,一个类可以调用另一个类的公有属性和方法。在类中以成员变量的方式表示。例如老板有自己的员工,知道自己员工的姓名、员工卡号、绩效等;员工有自己的老板,也知道老板的姓名和所属部门。关联分为单向关联、双向关联和自关联。 (1) 单向关联

含义:只有一个类知道另一个类的公有属性和方法。

表示:带箭头的直线表示。

举例:员工都有自己的地址。

1827a4a88bc9c95783242601f1f9ffc3.png


(2) 双向关联

含义:双方都知道对方的存在,都可以调用对方的公有属性和方法。

表示:用一条直线连接两个类,也可以用双箭头。

举例:老板有自己的员工,员工也有领导自己的老板。

bdcf32edd2f4ee8d09e9622c03c2015c.png


(3) 自关联

含义:自己引用自己

表示:带箭头的直线,指向自己。

举例:二叉树结构体。

f4a57c8db8a89c176fc09fe13a3341da.png


(4) 多重关联

含义:对象之间存在多种多重性关联关系,如下表所示。

c59518c7adc83c572c34c6bdcbe9e014.png


4.4 聚合

含义:整体与部分的关系,部分离开整体后可以单独存在。常用于类的成员变量。 表示:带空心的菱形和直线(或者带箭头的直线),箭头指向部分。 举例:汽车和轮胎,轮胎是汽车的一部分,但轮胎也可以单独存在。

c1833de3907dbc13aac489164552a4f5.png


4.5 组合

含义:整体和部分的关系,部分离开整体后不可以单独存在,代表整体的对象负责代表部分的对象的生命周期。常用于类的成员变量。 表示:带实心的菱形和直线(带箭头的直线),箭头指向部分。 举例:公司和部分,部门是公司的一部分,但部门不可以单独存在。

38596407bf1c4d05dd7d9b9e34c49c20.png


4.6 依赖

含义:是一种使用的关系,即一个类的实现需要另一个类的协助。常用于类方法的局部变量、方法参数等表示:带箭头的虚线,箭头指向协助的类。 举例:动物依赖水

f9b056fd9466dd6afbff890564971b2e.png


5.关联、组合、聚合与依赖的区别

关联代表类与类的关系;

聚合 和组合代表整体与部分的关系; 依赖 是一种弱的关系,表示一个类的方法的实现需要用到另一个类,但二者之间并没有明显的关系。

觉得好看,请点这里↓

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《practical_uml_statecharts_in_c_c__second_edition》是一本关于C和C++编程实用的UML状态图应用的书籍。该书介绍了如何使用UML状态图来设计和编写C和C++程序的状态转换逻辑。 在软件开发,状态转换逻辑是非常重要的一部分。通过使用UML状态图,开发人员可以清晰地表示程序的状态和状态之间的转换关系。这有助于程序员更好地理解程序的行为,并且有助于编写更可靠和易于维护的代码。 《practical_uml_statecharts_in_c_c__second_edition》详细介绍了如何将UML状态图与C和C++编程结合使用。它首先解释了UML状态图的基础概念和符号,然后提供了一些实例和案例研究,展示了如何在C和C++程序使用这些概念和符号。书还介绍了一些常用的工具和框架,以帮助开发人员更好地应用UML状态图。 此外,该书还重点讨论了在使用UML状态图时可能遇到的一些常见问题和挑战,并提供了一些建议和解决方案。开发人员可以通过阅读该书,了解如何使用UML状态图来设计和实现复杂的状态转换逻辑,并且可以学习到一些最佳实践和技巧。 总的来说,《practical_uml_statecharts_in_c_c__second_edition》提供了一种实用的方法,帮助开发人员在C和C++编程应用UML状态图。通过使用这些技术和方法,开发人员可以更好地管理程序的状态转换逻辑,提高代码的可靠性和可维护性。这本书对于想要深入了解和应用UML状态图的C和C++开发人员来说是一本有价值的参考书籍。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值