0.0UML类图


1. 基本介绍

  1. UML - Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮组软件开发人员进行思考和记录思路的结果
  2. UML本身是一套符号的规定,这些符号用于描述软件模型中各个元素和他们之间的关系,比如:类,接口,实现,泛化,依赖,组合,聚合等
  3. 画UML图和写文章差不多,都是把自己的思路描述给别人看,关键在于思路和条理
    在这里插入图片描述

2. UML类图

  1. 用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系
  2. 类之间的关系 : 依赖,泛化(继承),实现,关联,聚合,组合
    在这里插入图片描述

1. 依赖关系(dependence)
  • 只要在类中用到了对方,那么他们之间就存在依赖关系(A用到了B,那么A依赖B)

如果B类发生了变化,影响到A
我骑车去上班(我依赖于车),车坏了,会影响到我
在这里插入图片描述

  • 小结
  • 类中用到了对方(只要用到就是依赖)
  • 1.类的成员属性 , 2.方法的返回值 , 3.接收的参数类型 , 4.方法中使用到

2. 泛化关系(generalization)
  • 泛化关系实际上就是继承关系,他是依赖关系的特例
    在这里插入图片描述

  • 小结

泛化关系实际上就是继承关系
如果B类继承自A类,A和B存在泛化关系
剪头指向谁,就是继承谁


3. 实现关系(Implementation)
  • 实现关系实际上就是A类实现B接口,他是依赖关系的特例

java中的接口,iOS中类似于协议delegate
在这里插入图片描述

在这里插入图片描述

符号是虚线+空三角剪头


4. 关联关系(association)
  • 关联关系 : 类与类之间的联系,是依赖关系的特例

导航性 : 即双向关系或单向关系
多重性 : 可以一对多,或者多对一,多对多(比如一个老师对多个学生,一个学生也可以有多个老师)

  • 单向一对一关系,

Person 关联 IDCard
在这里插入图片描述

两个类属于同级关系
比如:人呼吸空气,人必须依赖空气活着(强依赖,没有空气人就不能活了),但是空气没有人也没有关系

  • 双向一对一关系
    在这里插入图片描述

也是强关系,双方少好了谁都不行
比如:用户和订单(用户ID和订单号)


5.聚合关系(Aggregation)
  • 表示整体和部分的关系,整体与部分可以分开.聚合关系是关联关系的特例

一台台式电脑由键盘(keyboard),显示器(nonitor),鼠标(mouse)等组成,组成电脑的各个配件是可以从电脑上分离出来的
电脑可以不依赖于显示器,鼠标等单独运行

在这里插入图片描述

强调的是整体和部分,各自有各自的生命周期,互不干扰,部分强调共享
比如:玩具车和电池(两者可以分开的,玩具车没有电池也能玩,电池可以装到别的玩具上,电池可以共享).玩具车是整体,电池是部分


6.组合关系(composition)
  • 也是整体与部分的关系,但是整体与部分不可以分开.

比如人和身份证,人和头,
人和头是不可以分开的,所以是组合关系
人和身份证是可以分开的,就是聚合关系

在这里插入图片描述

共享生命周期,整体的生命周期结束了,部分的生命周期也结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值