UML图绘制 -- 类图

1.类图的画法

整体是个矩形,第一层类名,第二层属性,第三层方法。

    • :public
    • : private
  • : protected

  • 空格: 默认的default

对应的类写法。

java 复制代码
public class Student {
    public String name;
    public Integer age;
    protected Integer cardId;
    Integer mark;


    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

抽象类

对比类,就是第1层类名第3层 方法名斜体表示。

接口

顶层多了<<interface>>字段,其余好像没啥区别了。

里面就是对应包的名字。

对应java写法。

java 复制代码
package com.zgxt.demo.domain;

public class Student {
  
}

2.类图的关系

如果说,类图为了表现java中的类、接口等属性方法,那么类图的关系就代表java中中类、接口之间的关系。

泛化关系

泛化就是Java中的继承

表示图形:实线 + 空心三角

对应的类关系图。

实现关系

实现就是java中的实现。

表示图形:虚线 + 空心三角

依赖关系

如果一个类失去一个类代码无法编译,那么说这个类依赖于这个类。

具体表现为:成员变量、局部变量、方法形参,方法返回值

表示图形:虚线箭头

对应的类关系。

java 复制代码
// 小孩
class Child{
    private Hand hand; // 依赖关系:成员变量也成为关联

    public void riding(Foot foot){ // 方法形参
        Bike bike = new Bike(hand,foot); // 局部变量
    }
}

关联关系

2个类依赖关系,并且是依赖中的成员变量,则存在关联关系。

而且再细分,感觉跟MySQL中的外键约束,表设计有异曲同工之妙。

MySQL FOREIGN KEY 外键约束 (w3schools.cn)

表示图形:实线箭头、横线箭头。

单向关联

双向关联

聚合

是在依赖的及基础上(成员变量),但是和关联表现的层级不同,关联表示同层级之间,而聚合表示整体和部分层级之间。

另外: 整体和部分之间可以相互独立存在。

如: 一个公司由老板和员工组成。那么公司和员工关系就是聚合。而老板和员工的关系就是关联。

表示图形:空心菱形 + 箭头。

代码:一个Computer类需要Boss类和Employee类,聚合。

而Employee类中的businessTrip出差() 方法需要Boss的同意,这就是关联。

java 复制代码
// 聚合和关联
class Computer{
    private Boss boss; // 聚合
    private Employee employee; // 聚合
}

class Boss{

}

class Employee{
    private Boss boss; // 关联
    public boolean businessTrip(){
        // boss同意 return true
        // boss不同意 return false
    }
}

对应的图形

组合

区别与聚合,组合的整体和部分之间不能独立存在。

如: 人由手、脚、头等身体部位组成,但是手离开人、人离开手都不能做相应的方法。

表示图形: 实心菱形 + 实线箭头。

这个我就不画了。

相关推荐
Warren2Lynch1 天前
面向对象设计中的 UML 类图指南
人工智能·uml
东莞市永盛电气2 天前
208V变380V干式变压器,绕组工艺与输出稳定性解析
uml
东莞市永盛电气3 天前
208V变380V变压器科普,北美三相电网升压转换原理
uml
北风toto4 天前
UML(统一建模语言)详细笔记
笔记·uml·软件设计师
梁辰兴5 天前
软件工程:UML 的表示法
软件工程·uml·梁辰兴·uml的表示法·类图表示法·对象图表示法·用例图表示法
东莞市永盛电气10 天前
2026年三相440V转380V变压器行业测评,厂家产品解析
uml
东莞市永盛电气11 天前
美加墨电压转换,440V变380V变压器基础原理与应用场景
uml
rolt15 天前
[pdf]390道《软件方法》强化自测题业务建模需求分析共328页(202608更新)
产品经理·架构师·uml
rolt24 天前
PlantUML+EA描述《分析模式》第7章使用会计模型(1)
架构师·uml·面向对象
rolt24 天前
《软件方法》强化自测题-分析(12)
软件工程·架构师·uml