uml
uml是Unified Modeling Language的简称,中文名称为统一建模语言。顾名思义,他就是在计算机程序设计过程过程中用来表示业务模型,概念模型等信息的图形展示。
类图
类图是描述软件系统中类与类之间的作用关系,用来展示软件系统的结构,以图型方式来直观表达出系统设计系统理念。
类是面向对象语言的重要思想,它把一些相同的属性和行为封装在同一个结构中,用来统一对外展示。
类图的uml结构

这里是使用的processon工具在线画的类图结构,类图分为三个部分,每部分用空隙隔开。
- 类名
- 类的属性即成员变量
成员变量的表示方式:权限 名称:类型 [= 默认值] - 类型行为即方法
方法信息的表示方式:权限 名称(参数) [: 返回值类型]
其中:
权限中+表示的是public, -表示的是private, #表示的是protected
类之间的关系
1.泛化
泛化是类和类之间的继承关系,通常用带空心三角形的直线来表示。下图中,定义了一个基类为People,他拥有name(姓名)和age(年龄)属性,同时有一个run方法,Male和Female类继承与People拥有它的属性和方法,同时还有自己增加的方法。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8hdW2QRt-1599126685243)(http://note.youdao.com/yws/res/2842/WEBRESOURCE987b8c91eda9e5b63bc080ca47099cd8)]](https://i-blog.csdnimg.cn/blog_migrate/9914dc74770cb68ab53860466484057c.png#pic_center)
2.实现
实现关系一般是对接口的实现,使用带三角形的虚线来表示,这把people定义成接口,它拥有一个behave方法,然后通过Male和Female来实现这个接口,并拥有不同的behave行为。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wt9H1pSk-1599126685246)(http://note.youdao.com/yws/res/2852/WEBRESOURCE34c840252eda3394f9c44029fd0b2028)]](https://i-blog.csdnimg.cn/blog_migrate/e2fc52a3703215ccc5ccd18af5599d34.png#pic_center)
3.组合
组合关系表示的整体由部分构成并且部分是不能单独存在的。例如人是有身体和头部来构成的,身体和头部都不能单独存在,而身体和头部的组合来支持人的正常生活。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tpy1gt2Y-1599126685249)(http://note.youdao.com/yws/res/2876/WEBRESOURCE4f83a497a6e2cf97eeec0254b07f00f5)]](https://i-blog.csdnimg.cn/blog_migrate/b4395fb42865224bd77816b92cdf2905.png#pic_center)
4.聚合
聚合关系描述的是一个弱类型的整体和部分的关系,部分离开整体后依赖能够正常行使功能。例如企业运行是由人提供生产资料来运转的,但是企业会有人员流程,人离开了这个企业也可以去其他企业工作。聚合关系的表现方式是一个空心的菱形和实现的箭头。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Ruq0zSS-1599126685252)(http://note.youdao.com/yws/res/2885/WEBRESOURCE4116af6b0cb7b138539f98c3680db282)]](https://i-blog.csdnimg.cn/blog_migrate/3b02a9b37acb550eb7974e03f5ac2605.png#pic_center)
5.依赖
依赖是一种使用关系,表示一个事物的行为要用到另一个事物来完成,他是一个弱关系,临时性的。通常在方法参数,局部变量,静态方法中用到。依赖关系用虚线的箭头来表示,箭头方向表示被依赖的的一方。这里Driver类的drive方法需要使用到Car。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ybXUpHfZ-1599126685256)(http://note.youdao.com/yws/res/2866/WEBRESOURCE08238f29e3e1c6bf88babadf158ee13d)]](https://i-blog.csdnimg.cn/blog_migrate/39a7c11bb9df72a57940cc86f275f8fb.png#pic_center)
6.关联
关联关系是一种结构的关系,用于表示类和类之间的平级关系,一般表现为全局变量。一般用实线的箭头来表示。
例如老师和学生之间,学生和课程之间有关联关系,学生和老师之间的关联是双向的,学生跟随老师学习,而老师也带领着学生。学生和课程之间的关联关系是单向的,学生拥有课程,而课程不拥有学生。除此之外,关联关系还有单向的,表示一个类和自己有关系。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lq73F06I-1599126685257)(http://note.youdao.com/yws/res/2896/WEBRESOURCEb9cf66452cb251e9127471f508451c40)]](https://i-blog.csdnimg.cn/blog_migrate/b7cea39db205c2a178313c0024d793f7.png#pic_center)
自关联类图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2bQUfnDC-1599126685259)(http://note.youdao.com/yws/res/2899/WEBRESOURCE8b6ebf93a9fe0cf0664e2cea9bc5215a)]](https://i-blog.csdnimg.cn/blog_migrate/6f5c2ccfce715abf85cb33dc6895ae08.png#pic_center)
本文介绍了UML类图的概念,包括类的结构、类之间的各种关系如泛化、实现、组合、聚合、依赖和关联,并通过实例详细解析了这些关系的含义和表示方法。
1625

被折叠的 条评论
为什么被折叠?



