学习UML图和时序图,以及IDEA种查看类之间关系
1、类之间的关系:(6种)
关系 | 表示 | 图示 | 解释 | 表明的结构和语义 |
---|---|---|---|---|
泛化关系 | 带空心箭头的直线 | ![]() |
A继承自B(B指代非抽象类) | 继承结构 |
实现关系 | 带空心箭头的虚线 | ![]() |
小汽车继承车(B指代抽象类) | 继承结构 |
聚合关系 | 带空心菱形箭头的直线 | ![]() |
表示A 聚合到 B 上,或者说 B 由 A 组成。 | 表示整体由部分构成的语义。 (不是强依赖:整体不存在了,部分仍然存在) |
组合关系 | 带实心菱形箭头直线 | ![]() |
表示 A 组成 B,或者 B 由 A 组成; | 表示整体由部分构成的语义; (强依赖:整体不存在了,则部分也不存在了) |
关联关系 | 一条直线(箭头表示方向) | ![]() |
表示对象间相互知道。 | 不同类的对象之间的结构关系。 不强调方向,表示对象间相互知道;强调方向则如左图,表示 A 知道 B,但 B 不知道 A; |
依赖关系 | 一条带箭头的虚线(箭头表示方向) | ![]() |
表示 A 依赖于 B; | 描述一个对象在运行期间会用到另一个对象的关系。应该保持单向依赖,杜绝双向依赖的产生。 |
2、时序图
参考文章,暂不学习:看懂 UML 类图和时序图【转载】 - 小鱼的专栏 - CSDN 博客
3、使用 IntelliJ IDEA 查看类的继承关系图形(即类图)
神级功能,参考原文吧,特别好。需要时看看就行了。使用 IntelliJ IDEA 查看类的继承关系图形 - Dulk - 博客园
4、参考:
- 看懂 UML 类图和时序图 — Graphic Design Patterns
- UML 类图符号 各种关系说明以及举例 - duanxz - 博客园
注:另一种解读方式,主要分析了各种关系之间的对比与分析,可以好好看看。- 【转】UML 的 9 种图例解析 - 小氕 - 博客园
注:大而全,几乎说了UML相关的所有东西,也包括所有种类的图。需要仔细看...太多太全了。
学习UML图和时序图,以及IDEA种查看类之间关系的更多相关文章
- 设计模式——1.概述&UML类图和时序图
声明:本博客设计模式相关文章均整理和修改自网络,原文地址:图说设计模式 学习设计模式的3个层次—— 1.熟悉所有设计模式: 2.能够用代码实现: 3.运用到工作的项目中. 设计模式指导软件开发,学习设 ...
- 看懂UML类图与时序图
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
- 看懂UML类图和时序图
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
- [转] 看懂UML类图和时序图
PS: 组合关系:实心,一个类A属于另一个类,或多个类,但是类A不能单独存在去使用,A一般是一种抽象的东西 聚合关系:空心,一个类A可以单独存在使用 不论组合聚合,A的方法都会被直接调用. 看懂UML ...
- 【UML九种图系列】之如何利用三层来绘制类图、时序图?
UML并发视图:实体之间行为的交互,是动态.分为:时序图.协作图.状态图.活动图 一.时序图简述: 时序图(Sequence Diagram):描述对象之间的交互行为,按照时间顺序排列. 元素: 角色 ...
- 阅读UML类图和时序图
这里不会将UML的各种元素都提到.我仅仅想讲讲类图中各个类之间的关系. 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同一时候,我们应该能将类图所表达的含义和终于 ...
- Eclipse下生成/编辑Java类图或时序图(UML)[转载]
一 引用文章 1.[eclipse下生成Java类图和时序图,生成UML图(更完整版)](https://blog.csdn.net/guomainet309/article/details/5302 ...
- powerdesign、navacat、ER图、uml、类图、时序图
关于建表和生成实体以及ER图的简便方法 a:用navacat客户端生成简单的ER图,并生成建表sql,执行生成表. b:用powerdesign连接数据库,反向生成带有注释的ER图. c:用ideal ...
- UML类图和时序图
这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图所表达的含义和最终的代码 ...
随机推荐
- spring 使用 context:property-placeholder 加载 多个 properties
一般使用PropertyPlaceholderConfigurer来替换占位符,例如: <bean class="org.springframework.beans.factory.c ...
- django post请求 403错误解决方法
--摘 第一次用Django做项目,遇到了很多问题. 今天遇到的问题是Django在处理post请求时多次出现403错误. 我先描述一下问题出现的环境:我用Django写了一个web服务端,姑且称它为 ...
- FTPClient上传下载等
package com.lct.conference.controller.MonitorManagement.cofer; import org.apache.commons.net.ftp.FTP ...
- [Luogu] 线段树 2
https://www.luogu.org/problemnew/show/P3373 双懒标记下放 先乘后加 #include <bits/stdc++.h> using namespa ...
- Machine Schedule为什么UVA过了POJ过不了
UVA1194 POJ1325 POJ要多判一个非零!!! #include<cstdio> #include<vector> #include<cstring> ...
- 创建全局变量用以保存传递MFC中不同窗口中的数据
格式如下: //DATA_TEMP.h class CDATA_TEMP{public: CDATA_TEMP(); virtual ~CDATA_TEMP();public: static int ...
- lxr看代码的时候出现中文乱码问题
修改lxr.conf 修改 , 'encoding' => 'utf-8',为utf-8
- linux中 systemd相关配置
systemd相关配置 推荐使用systemd管理进程,相比使用supervisord systemd提供系统级别的支援. 一.系统管理 Systemd 并不是一个命令,而是一组命令,涉及到系统管理的 ...
- MySQL group_concat 介绍
在做数据初始化的时候,由于需要修改满足条件的全部订单的状态,因此,想使用group_concat函数提取满足条件的所有订单id,以方便写回滚脚本.测试数据取自表test1,表结构和相关 insert ...
- 基于 intellij IDEA 快速搭建Spring Boot项目
在<一步步搭建 Spring Boot maven 框架的工程>一文中,已经介绍了如何使用Eclipse快速搭建Spring Boot项目.由于最近将开发工具由Eclipse ...