UML类图
创始人
2024-01-28 04:55:18
0

统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 UML从目标系统的不同角度出发,可分为用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图

类图的概述

类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。




类图的表示方法

​ 1. 类图使用包含类名、属性和方法的且三者间存在分割线的矩形表示

​ 2. 在属性和方法前通过不同符号来表示可见性,+ 表示public、- 表示private、# 表示protected

3. 接口顶部有<< interface >>显示
4. 属性的完整表达方式为:**可见性符号 属性名 : 类型 [ = 默认值]**
5. 方法的完整表达方式为:**可见性符号 方法名(参数列表) [ : 返回类型]**

中括号[] 间的内容时可选的,也有将类型放在属性名前,返回类型放在方法名前的说法

image-20221116202624351




类与类之间的六种表达关系

继承关系实现关系关联关系聚合关系组合关系依赖关系
空心三角形+实线空心三角形+虚线实线箭头(双向关联可以没有箭头或两个箭头)空心菱形+实线箭头实心菱形+实线箭头虚线箭头

聚合是一种弱“拥有”关系,体现在对象A中可以包含有对象B,但对象B不是对象A的一部分,其可以单独存在。

合成是一种强“拥有”关系。体现了严格的整体(对象A)和部分(对象B)的关系,只有整体(对象A)存在时,部分(对象B)才存在。



泛化(继承)关系

​ 继承关系表示一般与特殊的关系,它指定了子类如何特性化父类的所有非私有的特征和行为。

​ 例如:老虎和麻雀都继承了动物体重特性和移动行为。

​ 画法:使用带空心三角形箭头的实线连接,三角形指向父类

image-20221116204254404


实现关系

​ 实现关系就是实现类与接口的关系,实现类将必须实现接口中定义的所有抽象方法。

​ 画法:使用带空心三角形箭头的虚线连接,三角形指向父类

image-20221116205614250


关联关系

​ 关联关系指的是在A类中,可以知道B类的存在(可以在A类中调用B类的属性或方法),那么A类就关联了B类,如果在B类中也知道A类的存在,那么他们就是双向关联关系,如果B类不知道A类的存在,那么他们就是单向关联关系

​ 例如:一个老师通过学生列表属性知道学生的存在,而学生通过班主任属性知道老师的存在,那么他们就存在双向关联的关系。学生通过课程列表知道课程类的存在,但课程只是一个抽象的类,并不需要关联学生,所以只有学生关联课程,属于单向关联

​ 画法:双向关联可以使用双箭头加实线指向两个关联类,也可以只用实线。单向关联使用实线连接,箭头指向被关联的类。

image-20221116213533533

还存在一种自关联关系,例如节点中有next属性指向下一个节点,这就是节点关联了自己。

image-20221116214835385


聚合关系

​ 聚合关系是一种较强的关联关系,是一种整体和部分的关联关系,整体没有了部分无法正确运行,但部分却可以离开整体单独存在。

​ 例如:学校没有老师则无法正常运行,老师离开学校依旧可以教书,这就是一个整体和部分的聚合关系,有部分聚合成为一个整体。

​ 画法:使用带空心菱形箭头的实线连接,菱形指向整体,表示聚合为整体

image-20221116220153682


组合关系

​ 组合关系是比聚合关系更强的关联关系,也是整体与部分的关系。但不同与聚合的部分可以单独存在,组合关系中由整体调度多个部分,整体不需要时,部分也无法正常运行。

​ 例如:公司由多个部门组成,多个部门需要通力合作维持公司的正常运转,当公司不存在时,部门也就没必要存在了。

​ 画法:使用带实心菱形箭头的实线连接,菱形指向整体,表示组合为整体。

image-20221116222011414


依赖关系

​ 依赖是耦合性很弱的关联方式,是一种临时的关联使用关系。指的是在A类中的方法中,通过形参局部变量的方式使用B类的某些方法,形成一种临时的关联关系,当局部变量所属的方法结束后,这种关联关系就不存在了。

​ 例如:人玩游戏,那就需要依赖电脑游戏类来玩游戏,于是在人的玩游戏方法中传入电脑游戏类的对象来产生依赖关系。但电脑游戏类与人的关联关系只存在于玩游戏这个方法中,当这个方法结束后二者的关联关系就不存在了。

​ 画法:使用带箭头的虚线连接,箭头从使用类指向被使用的类。

类的对象来产生依赖关系。但电脑游戏类与人的关联关系只存在于玩游戏这个方法中,当这个方法结束后二者的关联关系就不存在了。

​ 画法:使用带箭头的虚线连接,箭头从使用类指向被使用的类。

image-20221116223443346



各种关系的强弱顺序

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

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

0_1330497855hqk2

这张图的原文链接:https://blog.csdn.net/tianhai110/article/details/6339565

相关内容

热门资讯

抖音女人创业励志文案,努力创业...   1      温州制造的鞋子也是,为什么一个小红钩就成了畅销品?      兄弟们都知道,因为小...
创办你的企业超市创业计划书,开...         你店里的竞争对手和压力如何?你有一个好位置。如果店铺太多,顾客就会分散。      ...
卖火柴的小女孩 卖火柴的小女孩...   音频:点击播放                                         ...
白豆腐汤怎么做好吃 白豆腐汤怎...         大学贼爱吃学校门口的嵊州汤年糕,回四川就只能自己做了~现在人都空了,说吃年糕不容易消...
免费创业培训班靠谱吗,大学生创...         江门农村电商培训和创业就业基地(江门农村电商学园)位于江门市省级高技能人才公共实训基...
运动创新创业项目,创新创业项目...         2月1日第一天下午,上杭县临城镇黄岗村举行了一场“欢度春节,和谐乡村”的村级篮球赛。...
商标部分驳回多久拿证 鍟嗘爣閮...   当我们新注册的商标被商标局部分驳回时,商标申请人除了做出驳回复审外,还可以根据实际情况选择是否使...
50岁男人创业成功率,创业成功...   互联网创业:互联网创业者必须明白的铁律!      你好,这是指尖扩张。我叫醉梦,专注网络创业项...
夫妻共同创业离婚后如何分割,离...   那一年,我23岁,经人介绍认识了父亲。当时最常用的联系方式是QQ。刚打开视频,一张帅气的娃娃脸映...
买车15万左右什么车好 买车1...   15万左右买什么车好?近年来,随着SUV在汽车市场地位的上升,很多预算15万的准车主都把目光投向...