2021年9月14日-设计模式之UML

第二章:UML 类图

一、UML 概念

1)UML —— Unified modeling language,统一建模语言用来软件分析和设计,帮助软件开发人员进行思考和记录思路

2)UML 是一套符号的规定,用来描述软件模型中各个元素和它们之间的关系

二、UML 图分类

名称组成
用例图-
静态结构图类图、对象图、包图、组件图、部署图
动态行为图交互图(时序图和协作图)、状态图、活动图

三、UML 类图

1)用于描述系统中的类(对象)本身和类(对象)之间的各种静态关系

2)类之间的关系:泛化(继承)、实现、依赖、关联、聚合、组合**

用 PlantUML 表示类之间的关系

关系箭头
泛化(Generalization)–|>
实现(Realization)…|>
依赖(dependency)…>
关联(Association)–>
聚合(Aggregation)–o
组合(Composite)–*

四、泛化关系

泛化关系就是继承

在这里插入图片描述

上图的意思:B 继承 A(主语是箭头的起点

五、实现关系

实现关系就是实现一个接口

在这里插入图片描述

上图的意思是:B 实现 A(主语是箭头的起点

六、依赖关系

只要类 A 中使用了类 B,那么就说 A 依赖 B,因为没有 B,那么 A 连编译都通不过。依赖关系是很弱的关系

在这里插入图片描述

上图的意思是:A 依赖 B (主语是箭头的起点

思考:

  • 哪些算依赖关系?
    • 类的成员属性
    • 方法的返回值
    • 接收的参数类型
    • 方法中使用到
  • 继承和实现算依赖吗?
    • 算,但是继承和实现的关系比依赖强,所以还是画继承和实现自己的箭头
  • 类与类或多或少有依赖,所以如果画箭头的画岂不是要画很多?
    • 所以一般就直接依赖画一下箭头

七、关联关系

关联关系是依赖关系的特例,是更强的依赖的关系。它不像依赖是偶然的、临时的,一般表现为成员变量

在这里插入图片描述

上图的意思是:A 关联 B (主语是箭头的起点

关联关系可以是单向的或是双向的,即你中可以有我,我中可以有你

关联关系具有多重性,如 “1”(表示有且仅有一个),“0…”(表示 0 个或多个),“0, 1”(表示 0 个或者 1 个),“n…m”(表示 n 到 m 个都可以),“m…*”(表示至少 m 个)

八、聚合关系

聚合关系是关联关系的特例(也具有导向性和多重性),表示整体与部分的关系,且整体与部分可以分开

主要表现为类中的成员变量,且成员变量没有随着类加载或类实例化而 new 出来

在这里插入图片描述

上图的意思是:A 聚合到 B (主语是箭头的起点

九、组合关系

和聚合关系类似,但不同的是组合表示整体与部分不可分割

主要表现为类中的成员变量,且成员变量随着类加载或类实例化而 new 出来

在这里插入图片描述

上图的意思是:A 组合到 B (主语是箭头的起点

注意:如果属性 C 会随着 B 的删除而一同删除,那么 C 也算是组合到 B 中了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值