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
    }
}

对应的图形

组合

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

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

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

这个我就不画了。

相关推荐
lsyeei3 小时前
UML建模在软件生命周期中的应用
软件工程·uml
艾利克斯冰2 天前
Java设计模式详解-七大设计原则(持续更新中)
设计模式·uml·开闭原则
HEADKON3 天前
尼洛替尼300mg每日两次空腹服用治慢粒,QT延长风险高,低钾低镁需纠正后用药
uml
rolt4 天前
PlantUML描述《分析模式》第4章企业财务观察(2)
领域模型·架构师·uml
吴声子夜歌7 天前
PlantUML——状态图
uml·plantuml·状态图
吴声子夜歌7 天前
PlantUML——序列图
uml·plantuml·序列图
吴声子夜歌7 天前
PlantUML——活动图
uml·plantuml·活动图
吴声子夜歌8 天前
PlantUML——类图(一)
uml
吴声子夜歌8 天前
PlantUML——类图(二)
uml·plantuml·类图
吴声子夜歌8 天前
PlantUML——对象图
uml·plantuml·对象图