idea 看类的子类 uml 图_设计模式-UML

定义

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言

特点

UML是一种开放的方法

用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法。

UML展现了一系列最佳的工程实践

这些最佳的实践在对大规模,复杂系统今夕建模方面,特别是软件架构层次以及有效验证。

分类

结构式图形:强调的是系统式的建模

行为式图形:强调的系统模型中触发的事件

交互式图形:属于行为式图形的子集合,强调系统模型中资料流程

### 结构式图形

- 静态图(类图、对象图、包图)

- 类图

用于表示类、接口、实例等之间相互的静态关系

虽然名字叫类图,但类图中并不只有类

- 实现图(组件图、部署图)

- 刨面图

- 复合结构图

### 行为式

- 活动图

- 状态图

- 用例图

### 交互式图形

- 通信图

- 交互概述图

- 时序图

- 时间图

UML-记忆技巧

UML箭头方向:从子类指向父类定义子类时需要通过extend关键字指定父类子类一定是知道父类定义的,但父类并不知道子类的定义只有知道对方信息时才能指向对方

实现-继承|虚线-实现

  • 空心三角箭头:继承或实现
  • 实线-继承,is a关系,实际的关系
  • 虚线-实现,实现的某种特性是虚无的(依赖关系)
23812127d8e56dfb6740c2f46a8266d4.png

继承、实现

c62473f240c1752e595515788e022e17.png

关联、依赖

空心菱形-聚合|实心菱形-组合

  • 菱形就是一个盛东西的器皿(箱子)
  • 聚合:代表空器皿里可以放很多相同的东西,聚在一起(箭头方向所指的类)
  • 组合:代表着满器皿里已经有实体结构存在,生死与共
dc48bf31c9fdd0cd92bc063154e2724d.png

聚合

c22fa5401a88c27fc57b0d18ac6617e0.png

组合

常见数字表达及含义,假设有a和b,数字标记在a侧

  • 0..1: 0或1个实例
  • 0..*: 0或多个实例
  • 1..1: 1个实例
  • 1 只能有一个实例
  • 1..*: 至少有一个实例

UML时序图

  • sequence diagram:是显示对象之间交互的图,这些对象是按时间顺序排列的
  • 时序图中包括的建模元素主要有: 对象(actor)、生命线(lifeline)、控制焦点(focus of control)、消息(message)等
7a97bc9dace221335098b224b4f77db7.png

时序图

UML类图

0d08fb002ac407cdf7bb4b54f2d4c23e.png

UML类图

  • 从上到下3个框分别是类名、属性、方法
  • 斜体代表抽象
  • 下划线代表接口
  • +:public
    -: privite
    #:protect
    ~:default
  • 属性左侧属性名,右侧属性类型
  • 方法左侧方法名,右侧返回值

学习图

bd52c66ed825fbc4293297cc548a1b44.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值