UML类图常用用法

简介: UML类图常用用法

一.UML类图图示样例

在这里插入图片描述


二.对上述图片中的内容具体分析

1.类的表示

在这里插入图片描述

  • 首先来看动物矩形框,它代表一个类。
  • 类图分三层:
    • 第一层显示类的名称,如果是抽象类,则用斜体显示;
    • 第二层是类的特性,也就是属性;
    • 第三层是类的操作,也就是方法。
  • 属性、方法前面的 '+'表示public ; ‘-’ 表示private; ‘#’ protected。

2.接口的表示

在这里插入图片描述

  • 接口的表示与类有些区别,接口的顶端有<<interface>>显示。
  • 第一行是接口的名称。
  • 第二行是接口的方法。

接口还有一种表示方法,俗称棒棒糖表示法,如下:
在这里插入图片描述
也就是说唐老鸭这个类实现了讲话人这个接口,接口中的讲话()方法在唐老鸭这个实现类中得到实现。

3.依赖(Dependency)关系

依赖关系用虚线箭头来表示,如下:
在这里插入图片描述
只要是在类中用到了对方,那么他们之间就存在依赖关系。具体如下:

  • 类的成员属性
  • 方法的返回类型
  • 方法接收的参数类型
  • 方法中使用到

举例:在类A的某个方法中,其方法的参数类型为类B、类C,则类A与类B、类C是依赖关系,代码如下:

public abstract class Animal {
    
    public void metabolism(Oxygen oxygen,Water water){
    
    }
}

4.继承关系(泛化关系)

继承关系用空心三角形+实线来表示,如下:
在这里插入图片描述

泛化关系实际上就是继承关系,他是依赖关系的特例。如果A类继承了B类,我们就说A和B存在泛化关系。

5.实现关系

实现接口用空心三角形+虚线来表示,如下:
在这里插入图片描述

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

6.关联(association)关系

关联关系用实线箭头来表示,如下:
在这里插入图片描述

关联关系实际上就是类与类之间的联系,他是依赖关系的特例关联具有导航性:即双向关系或单向关系关系具有多重性:如“1”(表示有且仅有一个),“0…”(表示0个或者多个), “0,1”(表示0个或者一个),“n…m”(表示n到 m个都可以),“m…*”(表示至少m 个)。单向一对一关系
在这里插入图片描述
public class Person {
      
    private IDCard card;
}
public class IDCard{
     }

双向一对一关系
在这里插入图片描述
public class Person {
       
    private IDCard card;
}
public class IDCard{
      
    private Person person 
}

举例:上述中的企鹅需要知道气候的规律,才能够进行一些活动,如下蛋,捕食等等,当一个类中引用到另一个类时,这个时候就是关联关系,如下面的代码:

Class Penguin extends Bird {
       
    //在企鹅Penguin类中引用了气候Climate类
    private Climate climate;
}

7.聚合(Aggregation)关系

聚合关系用空心的菱形+实线箭头来表示,如下:
在这里插入图片描述

聚合关系是一种弱的“拥有”关系。聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。比如一台电脑由键盘、显示器,鼠标等组成;组成电脑的各个配件是可以从电脑上分离出来的
在这里插入图片描述

例子:比如雁群和大雁,每只大雁都是属于一个雁群,一个雁群可以有多只大雁,所以它们之间就满足聚合关系,如下代码:

public class WideGooseAggregate {
        
    //在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose
    private WideGoose[] arrayWideGoose;
}

8.组合(Composition)关系(也可翻译为合成关系)

合成关系用实心的菱形+实线箭头来表示,如下:
在这里插入图片描述

合成关系是一种强的“拥有”关系。组合关系:也是整体与部分的关系,但是整体与部分不可以分开,体现了严格的部分和整体的关系,部分和整体的生命周期一样。合成关系连线的两端有一个数字1和2,这被称为基数,表明这一端的类可以有几个实例: 在该例子中1和2表示一个鸟有两只翅膀;如果一个类可能有无数个实例,则就用n来表示;另外关联关系,聚合关系也可以有基数。简单来说,在A类中的构造器中实例化B类(创建B类对象),它们之间同时生成。
例子:比如鸟和翅膀,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的,如下代码:
public class Bird {
          private Wing wing; public Bird(){
          //在Bird类的构造器中创建Wing类对象 wing = new Wing(); } } 
目录
相关文章
|
6月前
|
uml
UML之类图
UML之类图
96 1
|
6月前
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
281 1
|
uml
IDEA使用插件绘制UML类图+PlantUML语法讲解
IDEA使用插件绘制UML类图+PlantUML语法讲解
781 0
|
3月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
3月前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
5月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
555 1
|
3月前
|
数据可视化 Java uml
精通UML:从类图到序列图的实战指南
【8月更文第23天】统一建模语言(Unified Modeling Language, UML)是一种用于软件工程的标准图形化语言,它提供了一套工具来帮助开发团队可视化、构造和文档化软件系统。在UML中,类图和序列图是最常用也是最重要的两种图。类图用于描述系统的静态结构,而序列图则用于表示对象之间的交互和系统的动态行为。
144 5
|
3月前
|
设计模式 uml
设计模式常用的UML图------类图
这篇文章介绍了UML中类图的基本概念和用途,详细解释了类与接口、类之间的关系,包括继承、实现、组合、聚合、关联和依赖等六种关系,并展示了它们在类图中的表示方法。
设计模式常用的UML图------类图
|
3月前
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
293 0
|
6月前
|
设计模式 数据可视化 程序员
软件设计模式:UML类图
软件设计模式:UML类图
153 1