目录
UML类图
介绍
- uml(统一建模语言),是一种用于软件系统分析和设计的语言工具,他用于帮助软件开发人员进行思考和记录思路的结果
- UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类,接口,实现,泛化,依赖,组合,聚合等

UML图
- 话UML图和写文章差不多,多事把自己的思想描述给别人看,关键在于思路和条理,
UML图的分类
- 用例图
- 静态结构图:类图,对象图,包图,组件图,部署图
- 动态行为图:交互图(时序图与协作图),转态图,活动图
说明:
- 类图是描述类与类之间的关系的,是UML图中最核心的
关系
依赖关系
只要是在类中用到了对方,那么他们之间就存在依赖关系
- 类中用到了对方
- 如果是类的成员属性
- 如果是方法的返回类型
- 是方法接受的类型参数
- 方法中使用到

泛化关系
- 泛化关系实际上就是继承关系
- 如果A继承了B,我们就说A和B存在泛化关系

实现关系
- 实现关系实际上就是A类实现B类,他是依赖关系的特例

关联关系

聚合关系
聚合关系表示的是整体和部分的关系,整体与部分可以分开,聚合关系是关联关系的特例,所以他 具有关联的导航性与多重性
如:一台电脑由键盘(keyboard),显示器(monitor),鼠标等组成,组成电脑的各个配件是可以从电脑上分离出来的,使用带空心的菱形的实线来表示
java
package two.聚合关系;
/**
* 聚合关系
* @author Han
* @data 2023/10/22
* @apiNode
*/
public class Computer {
// 显示器和鼠标可以和电脑分离
//
private Mouse mouse;
private Monitor moniter;
public void setMouse(Mouse mouse) {
this.mouse = mouse;
}
public void setMoniter(Monitor moniter) {
this.moniter = moniter;
}
}

- 如果我们认为Mouse和Monitor和Computer是不可分离的,则升级为组合关系
java
/**
* 组合关系
* @author Han
* @data 2023/10/22
* @apiNode
*/
public class Computer {
// 显示器和鼠标无法和电脑分离
private Mouse mouse = new Mouse();
private Monitor monitor = new Monitor();
public void setMouse(Mouse mouse) {
this.mouse = mouse;
}
public void setMonitor(Monitor monitor) {
this.monitor = monitor;
}
}


