IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> UML图,及其使用案例 -> 正文阅读

[移动开发]UML图,及其使用案例

1. 前言

继续学习《Android源码设计模式解析与实战》和《Java设计模式(第2版)中文版》的时候,不可忽视的需要了解UML图。因为这种可视化的表示感觉更加直观,感觉用于前期的类关系构建非常合适。所以这里来回顾下UML图的相关知识。

如果需要上面这两本书籍pdf的可以联系我

2. 什么是UML图

Unified Modeling Language,翻译为:统一建模语言。是用来对软件密集系统进行可视化建模的一种语言。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。

UML立足于对事物的实体、性质、关系、结构、状态和动态变化过程的全程描述和反映。UML可以从不同角度描述人们所观察到的软件视图,也可以描述在不同开发阶段中的软件的形态。

UML采用一组图形符号来描述软件模型,这些图形符号具有简单、直观和规范的特点,开发人员学习和掌握起来比较简单。所描述的软件模型,可以直观地理解和阅读,由于具有规范性,所以能够保证模型的准确、一致。

摘自:百度百科-统一建模语言

3. UML图的作用

UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

4. 种类

截止UML2.0一共有13种图形(UML1.5定义了9种,2.0增加了4种)。分别是:用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图9种,包图、组合结构图、交互概览图3种。

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

4.1 UML类图几种关系

UML静态视图中包含一些常见的基本关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

4.1.1 泛化(Generalization)

是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
在这里插入图片描述

箭头为空心,且箭头指向父类。

4.1.2 实现(Realization)

也就是类与接口的关系。
在这里插入图片描述
使用空心箭头,连线为虚线,箭头指向接口。

4.1.3 关联(Association)

表示为一种拥有的关系。可以形象化的理解为一个类中拥有另一个类作为属性。比如:老师和学生,学生和课程的关系。

关联可以是双向的,也可以是单向的。
在这里插入图片描述
老师有多名学生,学生也可能有多名老师。一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

使用普通箭头表示,或者双向不使用箭头。

4.1.4 聚合(Aggregation)

聚合关系是关联关系的一种,是整体与部分的关系。且部分可以离开整体而单独存在。比如下面的图示:
在这里插入图片描述
车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

4.1.5 组合(Composition)

组合关系是关联关系的一种,是整体与部分的关系,比聚合关系强。部分不能离开整体而单独存在

在这里插入图片描述

4.1.6 依赖(Dependency)

是一种使用的关系,即一个类的实现需要另一个类的协助。依赖是表示一个类中使用了另外一个类,最常用的依赖是在类A方法中使用了类B,那么A依赖B。如下图所示。

在这里插入图片描述

4.2 UML类图常见表示

4.2.1 类图

在这里插入图片描述
ClassName表示类名
中间部分为该类的属性,其中分别表示为可访问性,属性名,以及属性的数据类型。
第三部分为该类的方法,包括方法的可访问性,方法名,方法的参数以及方法的返回值。
其中:

  • +表示public
  • #表示protected
  • -表示private
  • i表示internal

4.2.2 对象图

在这里插入图片描述
即类的实例对象,用来指明属性值。


References

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:54:36  更:2021-10-08 11:55:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:59:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码