1、Classes说明

【1】Class  类

【2】Interface 接口

【8】Generalization  A与B的泛化关系,A继承B。继承非抽象类

  

【9】Interface Realization  A与B的实现关系,A实现B。继承接口或抽象类

  

【3】Association  关联关系

  表示形式:关联关系是用一条直线表示

  它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;

  例:乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;

  注:最终代码中,关联对象通常是以成员变量的形式实现的

  

【4】Directed Association 定向关联关系

  表示形式:定向关联关系是用一条带箭头直线表示

  它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;  

  关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

  例:乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;

  注:最终代码中,关联对象通常是以成员变量的形式实现的

  

【7】Dependency  依赖关系

  表现形式:依赖关系是用一套带箭头的虚线表示

  一个对象在运行期间会用到另一个对象的关系;

  与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化;

  注:依赖也有方向,双向依赖是一种非常糟糕的结构,我们总是应该保持单向依赖,杜绝双向依赖的产生;

  最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系;依赖关系除了临时知道对方外,还是“使用”对方的方法和属性;

  

【5】Aggregation  聚合关系。整体和部分不是强依赖的,即使整体不存在了,部分仍然存在  

  例如, 部门撤销了,人员不会消失依然存在

  

【6】Composition  组合关系。组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了

  例如, 公司不存在了,部门也将不存在了

  

参考文章:https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#association

StarUML画类图的更多相关文章

  1. 使用StarUML画类图

    1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具. StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code” 的工具.SU也可以做 ...

  2. 使用StarUML创建类图

    使用StarUML创建类图 http://www.flyne.org/article/379 1.综述(What) StarUML是一种生成类图和其他类型的UML图表的工具.本文是一个使用StarUM ...

  3. vscode用yuml画类图

    vscode用yuml画类图 最近在找画类图的工具,发现vscode一款插件很好用,还支持markdown.vscode插件中直接搜索yuml安装即可. 文件后缀.yuml. 文件开头第一行这样写// ...

  4. 在eclipse中画类图

    学习设计模式的时候,希望能够画出类图,理清关系.但是StarUML还有重新去写类名.属性.方法等,不是很方便.网上给出了安装插件的方法额,就可以直接在eclipse中拖拽类,很方便.但是网上给出的插件 ...

  5. 使用Visio—UML画类图

    在一个VS工程中,由于类的个数较多,而参数描述不是特别清晰.若此工程的生命周期较长,则有必要对工程进行完整分析,给出完整的文档.需要画出类图,并对每个成员进行详细描述. 一.画出类图 在VIsio中, ...

  6. 还能这么玩?用VsCode画类图、流程图、时序图、状态图...不要太爽!

    文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 软件设计中,有好几种图需要画,比如流程图.类图.组件图等,我知道大部分 ...

  7. 20170908工作日记--UML画类图、HTTP协议、Volley源码走读

    随手搜了一下,Android studio居然能够自动帮追我们生成UML的类图,简直太棒了http://www.gcssloop.com/course/UsePlantUMLInAS(Win),具体做 ...

  8. idea使用PlantUML画类图教程

    嗯,在学设计模式时,画类图画的麻烦,就查了一下,发现idea可以通过插件实现.查了一下,学习,整理笔记和大家交流.  2019.9.11 安装可以百度,网上有好多. PlantUML 官网.如果时间多 ...

  9. 使用staruml学习画类图

    //这是startuml 把uml 转换成的java代码: public class Circle implements Ishape { private double _radius; public ...

  10. 在idea中使用plantUML画类图

    1.下载插件,搜uml找找就有了,安装重启idea. 2.会提示你找不到graphviz,下载msi安装. 3.提示not executable,需要配置环境变量,不是配置path,配置GRAPHVI ...

随机推荐

  1. docker-compose之配置docker-compose.yml

    当前有三种版本的Compose配置文件格式: Version 1 旧版格式,通过省略YAML的根配置项version来指定. 未声明版本的Compose配置文件都被视为V1版,所有的服务都作为根选项在 ...

  2. Refact.ai Match 1 (Codeforces Round 985, Div. 1 + Div. 2)

    Contest Link A Easy math problem. Submission B 大胆贪心猜结论,容易想到一个套路化的 stack 做法. Submission C 容易想到是个二分题,二 ...

  3. 【Kotlin】select简介

    1 前言 ​ 协程的 select 是一种用于异步操作的选择器,它允许同时等待多个挂起函数的结果,并在其中一个完成时执行相应的操作. ​ 能够被 select 的事件都是 SelectClause,在 ...

  4. 攻防世界:web习题之xff_referer

    攻防世界:web习题之xff_referer 题目内容 https://adworld.xctf.org.cn/challenges/list 这道题的网页会首先会显示: 当成功修改ip地址之后会提示 ...

  5. Shape文件格式

    Shape文件格式 一个ESRI的shapefile数据包含一个主文件(.shp),一个索引文件(.shx)和一个dBASE(.dbf)表.主文件是直接访问的,变长记录的文件,每一条记录都描述一个形状 ...

  6. 使用Flex布局的几个小技巧

    前情 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 Flex 布局,如果说目前我开发中离不开的布局方式 ...

  7. LeetCode题集-8 - 字符串转换整数 (atoi)

    题目:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数. 01.手动处理每个字符法 最简单的方法永远是脑海中第一个想到的方法,也是最暴力的方法,而这 ...

  8. 使用 OpenXML 创建第一个 Word 文档

    using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; public class Op ...

  9. 【前端】【H5 API】addEventListener监听网络状态的变动

    WebviewObject Webview窗口对象,用于操作加载HTML页面的窗口 属性 id:webview窗口的标识 方法:监听 addEventListener 添加事件监听器 wobj.add ...

  10. AndroidStudio 彻底关闭http网络代理方法

    以前在AndroidStudio中设置完代理后,会在项目的gradle.properties文件中生成代理配置信息: 即使你在setting的http proxy中关掉代理,实际编译时还会使用上次设置 ...