本文由类间关系的介绍、寻找类间关系的方法、绘图方法(内含推荐绘图网站)三个模块组成。

一.类间关系的种类、语法、语义、例子和符号

1.要绘制一个项目中各类的关系图,首先必须了解类间关系的种类,它分为六个分类:继承(泛化)、实现、关联、聚合、组合、依赖。

2.它们所对应的语法分别是:

(1)继承(泛化)关系:extends

(2)实现关系:implements

(3)关联关系:某类作为另一类的成员变量

(4)聚合关系:某类作为另一类的成员变量(整体和部分可分离)

(5)组合关系:某类作为另一类的成员变量(整体和部分不可分离)

(6)依赖关系:某类使用另一类作为自己的方法的参数(或者局部变量)存在

3.语义和例子:

(1)继承(泛化)关系: 某类继承另一类的功能,并可以增加它自己的新功能(交通工具和汽车)

(2)实现关系:类和接口之间的关系(就像电脑开机需要按下开机按钮这个接口来实现)

(3)关联关系:比依赖关系强,分为单向关联(唐僧和徒弟:前者类中与后者关系强烈,后者类中与前者关系不强)、双向关联(学生和学生证)和自身关联(领导自身也是员工)

(4)聚合关系:整体和部分的关系,且两者可分割(球队和教练、球员)

(5)组合关系:整体和部分的关系,且两者可分割(人和手、腿、头)

(6)依赖关系:一个类A使用到了另一个类B,这种关系弱于关联,但是类B的变化会影响到类A(人和他掌握技能)

4.符号:

(1)继承关系由子类指向父类

(2)实现关系由功能指向接口

(3)单向关联:若类A含有类B,则由类A指向类B

(4)聚合关系:由部分指向整体

(5)组合关系:由部分指向整体

(6)依赖关系:若类A使用类B,则由类A指向类B

二.小米便签中各类类间关系的寻找方法

1.CTRL+鼠标左键

在Android Studio里,CTRL+鼠标左键点击某一类,可以查看整个项目引用该类的地方。

2.CTRL+F

在任何一个编译器里CTRL+F都是搜索的快捷键。该功能能搜索到该文本下出现你所输入关键字的地方。

3.了解项目类的框架,理解类的基本功能

上述两个方法只适用于继承和实现两个类间关系的寻找。而对于关联、聚合、组合、依赖这四个关系,通过上诉的他们的语法可知前三者可以在类的成员变量中寻找,依赖关系可以在类的方法的参数(或者局部变量)中寻找,但是还是需要理解类的基本功能来判断是否属于哪一项。

三.绘图方法

1.给大家推荐一个网站

ProcessOn - 免费在线作图,思维导图,流程图,实时协作

点开它的上方模板界面,搜素类间关系。

推荐第二个里面有除了实现以外其他所有关系的符号样例。(需要3¥)

实现的符号可以搜索类实现。

推荐第二个里含有类的符号样例。不同模板类的符号可以复制到一起使用。(需要3¥)

2.绘图样例

(1)ui里的继承类间关系

(2)ui里的实现类间关系

以上就是本文的全部内容,主要参考:

类间关系概述:继承、实现、关联,聚合、组合、依赖关系的介绍——知士荟 (learnerhub.net)

类和类之间的关系_gaston的博客-CSDN博客_类与类之间的关系

小米便签类间关系图绘制方法相关推荐

  1. 类间关系有很多种 UML

    类间关系有很多种 UML 快速总结: 详情: 类间关系有很多种,在大的类别上可以分为两种:纵向关系.横向关系. 纵向关系就是继承关系 泛化(generalization): 实现(realizatio ...

  2. 小米便签维护过程记录——可能出现问题解决方案

    在对小米便签开源代码进行研究和维护及新功能开发的同时,会遇到很多问题,将以本文进行记录总结. 导入项目 若不导入直接Open会导致默认为Project,不为Android. 小米标签菜单栏不显示的问题 ...

  3. 在Win10以及SDK为33的环境下——小米便签项目的搭建

    文章目录 0. 我的操作系统和开发环境 1. 相关文件下载: 2. import project: 2.1 用import project导入项目 3. make project: 3.1 AS中的命 ...

  4. 小米便签开源项目本地环境搭建

    基于Android Studio.和Gradle 的小米便签配置和安装 一.Android Studio的中文社区(官网)下载最新的Android Studio 点击开始传送http://www.an ...

  5. 使用IDEA工具查看Java类层次结构关系图

    本文图文讲解开发中IDEA常用查看Java类层次结构关系图方法. 首先需要强调的是idea工具版本以及操作系统平台不同,界面.功能.快捷键等会有所不同,但总体是一致的,我这里是在macOS Big S ...

  6. Qt4.8类继承关系图(全网最全)

    一.概述 在学习Qt的时候快速的查询了解类的继承关系对我们的学习会有很大的帮助,而网上流传的多是较老版本的,并且是jpg格式,不便于学习使用,所以我就花了一些时间整理了这一套Qt类继承图 (包含Qt4 ...

  7. 在Android Studio下配置小米便签

    在Android Studio下配置小米便签 Android studio2022的下载与安装 在官网下载最新安装包Download Android Studio & App Tools - ...

  8. 小米便签从0到1维护教程

    小米便签开源社区版从0到1维护教程 1.前置条件-------软件的安装: 开发工具:Android studio 下载Android studio 汉化教程 安装请自行解决 SDK版本以及相关文件 ...

  9. java 字节码查看_一种查看java字节码时显示方法调用关系图的方法与流程

    本发明涉及一种代码逻辑分析方法,具体涉及一种查看java字节码时显示方法调用关系图的方法. 背景技术: 目前软件反编译领域有不少对可执行文件进行反编译的工具如IDA,也有对Java代码生成的中间码文件 ...

  10. iheatmapr包:可交互的热图绘制方法

    iheatmapr包 在R中有许多用于绘制热图的包,今天介绍一个比较有意思的用于绘制热图的包,iheatmapr 包,这个包是用来绘制复杂的.且具有交互作用的热图. 用iheatmapr包绘制得到的热 ...

最新文章

  1. 代码参数里的 payload 究竟是什么意思
  2. 人工智能写散文之错位时空
  3. POJ1821-Fence【单调队列,dp】
  4. 内存结构 堆 栈 全局区 常量区 代码区
  5. 文件的输入和输出:流和缓冲区的概念和文件操作函数总结
  6. Linux内核分析 - 网络[七]:NetFilter
  7. html中如何华直角坐标系,空间直角坐标系的画法..ppt
  8. element tree ui 全选_element UI tree 控件,点击父节点进行异步加载,异步加载的数据不能全选...
  9. 【MySQL】Could not initialize master info structure
  10. I2C(smbus、pmbus)和SPI协议分析
  11. c语言 输入5为学生成绩求最高,求C语言小程序 输入5个学生成绩 输出最高成绩和其对应序号(0~5)若有并列则输出并列...
  12. 利用snapper实现archlinux的系统还原
  13. 【FND】EBS中Java并发程序开发
  14. 【宏定义】#define 的使用方法
  15. 乐鑫ESP32移植LVGL 7.10
  16. linux 技能包【2】:什么是Mbps、Kbps、bps、kb、mb及其换算和区别?
  17. 股票中如何数浪(数细浪)转自http://frend1.bokee.com/viewdiary.41172456.html
  18. 三十四、进阶之获取详情页面信息并显示
  19. python_第一次作业 四则运算
  20. 没有ui的前端日常剽窃网

热门文章

  1. java抽签_java  抽签程序  【滚动抽签】
  2. 阅读ArrayList源码的一些记录
  3. XP系统服务启动设置优化
  4. 无线充电设计(一)-基本介绍
  5. 随机对偶动态规划 SDDP,报童模型的一个 python 例子
  6. 左神算法:找到二叉树中符合搜索二叉树条件的最大拓扑结构(Java版)
  7. Educational Codeforces Round 118 (Rated for Div. 2)
  8. 一位全减器逻辑电路图_用74ls138实现一位全减器 - 数字电路图
  9. 车辆管理系统 c++
  10. OpenCV C++案例实战十《车牌号识别》