ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【系统分析与设计】UML类图绘制方法(真の能看懂~!)

2021-06-11 09:56:30  阅读:204  来源: 互联网

标签:关系 指向 修饰符 类图 说明 能看懂 UML 类中


文章目录


所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半。但类的具体描述方式在各个类中都不一样,UML类图的提出是为了能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系。这是UML类图的作用。

1 类的基本表示方式

在UML类图中,每一个矩形代表一个类。我们举一个简单的例子:
在这里插入图片描述
这是一个代表车辆的类。

一般的类图分为三个部分。部分类图有五个部分。

第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。

第二部分为类内的属性,格式为修饰符 属性名 :属性类型。修饰符为“+”说明该属性为public型,“#”说明该属性为protected型,“-”说明该属性为private型。

第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。修饰符为“+”说明该方法为public型,“#”说明该方法为protected型,“-”说明该方法为private型。如果方法名有下划线修饰则说明这是静态方法。

如果类图中需要描述类的性质,则放在第四部分描述。如果类内有内部类,则放在第五部分描述。

如果类图描述的是一个接口,在接口名的上方需要加上《interface》的修饰符。同时该类图仅有两个部分,接口名和接口的方法。

对于任何一张类图,只要对照上面的说明就可以解读出含义。

2 类之间关系的表示方式

类之间的关系有继承关系,实现关系,依赖关系,关联关系,聚合关系,组合关系。

1.继承关系

继承关系使用如下箭头:
在这里插入图片描述
由子类指向父类。

2.实现关系

实现关系使用如下箭头:

在这里插入图片描述

有实现类指向接口

3.依赖关系

依赖关系使用如下箭头:
在这里插入图片描述
由使用者指向被使用者。

如果A指向B,则说明A中使用了B,使用方式包括A类中有B类实例化对象的局部变量。A类中有方法把B类实例化对象当做了参数,A类中有方法调用了B类中的静态方法。

4.关联关系

关联关系使用如下箭头:
在这里插入图片描述
由拥有者指向被拥有者。

如果A指向B,则说明A类中有B类的成员变量。

5.聚合关系

聚合关系使用如下箭头:
在这里插入图片描述
由整体指向部分。

如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。

6.组合关系

组合关系使用如下箭头:
在这里插入图片描述

由整体指向部分。

如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成。但与聚合关系不同,如果B类不在A类中就无法单独存在。

两个类之间究竟是聚合还是组合完全由类的设计决定。


标签:关系,指向,修饰符,类图,说明,能看懂,UML,类中
来源: https://blog.51cto.com/u_14013325/2895521

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有