UML类图总结-简单易懂

UML

全称— —Unified modeling language (统一建模语言),是一种用于
软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。

  • 分类

    • 用例图:(use case)
    • 静态结构图:类图、对象图、包图、组件图、部署图
    • 动态行为图:交互图(时序图与协作图)、状态图、活动图

UML类图

用来显示系统中的类、接口、协作以及他们之间的静态结构和关系的一种静态模型.

  1. 类的描述

使用三层矩形框表示
第一层 显示类的名称,普通类为粗体,抽象类为斜体,如果类名有下划线修饰则说明这是静态类
第二层 显示类的字段和属性
第三层 显示类的方法
如果类图中需要描述类的性质,则放在第四层描述。如果类内有内部类,则放在第五层描述。

java类代码如下:

public class Cat{
    
    public int age;
    private String name;

    public void eat(){
        System.out.println("eat fish!");
    }
}

使用类图表示如下:
在这里插入图片描述

  • 属性

可见性 名称 : 类型 [ = 缺省值 ]

  • 方法

可见性 名称(参数) [ : 返回值 ]

  • 可见性

‘+’ 表示public
'- ’ 表示private
‘#’ 表示protected

  1. 接口的描述

使用两层矩形框表示,与类图的区别主要是顶端有<>显示,且行为的可见性必须用 “+” 表示
第一行是接口名称。
第二行是接口方法。

  • 构造型表示法:
    在这里插入图片描述
  • 圆形表示法:
    在这里插入图片描述
  1. 包的描述

UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,你通常拥有逻辑性的包,它主要用于对你的模型进行组织。你还会拥有物理性的包,它直接转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识

在这里插入图片描述

类与类之间的关系

类图中类与类之间的关系主要由:继承、实现、依赖、关联、聚合、组合这六大类型。表示方式如下图:
在这里插入图片描述

  • 依赖关系(Dependence)

依赖(dependency),在代码中,某个类的方法通过局部变量,方法参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些任务.
:如果B类是A类的
1.成员属性; 2.方法的参数类型; 3.方法的返回值类型; 4.方法中的局部变量
则A类依赖于B类

在这里插入图片描述

  • 泛化关系(generalization)

泛化关系其实就是继承关系,表示一般与特殊的关系,指定子类如何特殊化父类的特征和行为。它是依赖关系的特例。

在这里插入图片描述

  • 实现关系(Realization)

是一种类与接口的关系,表示类是接口所有特征和行为的实现,也是依赖关系的特例。

在这里插入图片描述

  • 关联关系(Association)

关联(association)关系,用于表示一类对象与另一类对象之间的联系,使一个类知道另一个类的属性和行为.关联关系有单向关联,双向关联,自关联
关联具有导航性:即双向关系(双向箭头或者无箭头)、单向关系(单箭头)
关系具有多重性:如“1”(表示有且仅有一个),“0…”(表示0个或者多个),
“0,1”(表示0个或者一个),“n…m”(表示n到 m个都可以),“m…*”(表示至少m
个)。

在这里插入图片描述

  • 聚合关系(Aggregation)

是关联关系的一种,表示整体和部分之间的关系,整体与部分可以分开,如电脑和显示器。关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

在这里插入图片描述

  • 组合关系(Composition)

组合(composition)关系也是关联关系的一种,也是表示整体和部分的关系,整体对象控制部分对象的生命周期,一旦整理对象不存在,部分对象也将不存在.部分对象不能脱离整理对象单独存在.
比如: Person和IDCard就是聚合,而Person和Head就是组合。

在这里插入图片描述
各种关系的强弱顺序

泛化= 实现> 组合> 聚合> 关联> 依赖

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐