1 什么是类图?
类图是一种UML图表,是用来展示系统中各个类之间关系的。
类图除了描述类与类之间的静态关系
,还描述了类的属性
、类的方法
。
类图的作用
-
分析和设计:类图可用于分析系统的需求和设计系统的结构。它可帮助开发人员确定系统中的各个类,并展示类之间的关系,有助于系统的构建和组织。
-
通信和交流:类图提供一种统一、易于理解的表示方式,可以帮助开发人员、设计师、项目经理等各个角色之间进行沟通与交流。通过类图,不同角色的人员可以清晰地理解系统的结构和功能。
-
系统维护:类图可以作为系统的文档,帮助项目组理解系统的结构和设计意图,并更好地维护和演化系统。
-
代码生成:类图可以用于辅助代码生成。在一些集成开发环境(IDE)中,可以根据类图自动生成类的代码框架,提高开发效率。
- Eclipse:可以使用插件如EclipseUML或ObjectAid UML Explorer来在Eclipse中创建和编辑类图,并生成Java代码。
- NetBeans:可通过插件如EasyUML来创建和编辑类图,并生成代码。
- IntelliJ IDEA (待验证):
-
PlantUML integration:该插件可以将PlantUML标记转换为类图,支持Java、Python、C#等多种语言。
-
SimpleUMLCE:这个插件提供了简单的UML类图编辑器,可以创建和编辑类、接口、关联关系等。
-
IntelliJ IDEA UML Support:该插件是JetBrains官方提供的UML插件,支持创建和编辑类图、包图、序列图等。
-
AsciiDoc Integration:该插件使用AsciiDoctor文本格式创建UML类图。
-
2 类图怎么画?
公欲善其事,必先利其器。选择一款合适的工具软件是挺重要的,尽可能满足需求。没有代码生成的需要,就简单学习认识类图,所以本文选择 draw.io 来绘制。另外本文选用java
为编程语言。
2.1 类
来认识一下,类有哪元素: 如上图所示,类有三项:
- 类名。普通的Class、abstract(抽象的)Class,或者是Interface(接口)都要有个名字嘛。
- 属性。包含有:可见性、属性名、属性值类型。
- 方法。包含有:可见性、方法名、方法入参类型、方法返回值。
可见性:也就是 java 中的属性和方法上的修饰符,有以下4个:
-
代表 private(私有的)+
代表 public(公共的)#
代表 protected (受保护的)~
代表 default (默认的)
2.2 类之类的关系
2.2.1 泛化关系
泛化关系,也就是继承关系。采用实线
加空三角形箭头
绘制,箭头指向父类。
2.2.2 实现关系
实现关系。采用虚线
加空三角形箭头
绘制,箭头指向接口类。
2.2.3 关联关系
关联关系,表示两个类之间的相互引用关系。
采用实线
绘制。单向关联的,箭头指向被引用的一方。
2.2.4 聚合关系
聚合关系,表示整体与部分之间的关系,是一种弱关系。
采用实线
加空心的菱形箭头
绘制,箭头指向整体
。
2.2.5 组合关系
组合关系,也表示整体与部分之间的关系,但是组合关系是一种强关系,整体的生命周期负责管理部分的生命周期。
采用实线
加实心的菱形箭头
绘制,箭头指向整体
。
2.2.6 依赖关系
依赖关系,表示一个类使用了另一个类的服务,一个类的实现可能依赖于另一个类的定义。
采用虚线
加箭头
表示,箭头指向被依赖的一方。
注意:本文归作者所有,未经作者允许,不得转载