用visio画UML类图

继承关系

继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是is-a关系。也就是说Class2 is a Class1。在C++中我们说Class2是Class1的派生类,或者说Class1是Class2的基类。

clip_image002


聚集和组成

从容易理解的关系说起.经常有一个类是另一个类的数据成员的情况。在UML中表现为,聚集(aggregation)和组成(composition)。

clip_image004clip_image005

从 图上来看,这两种关系都表现为一端是菱形的直线。其中有菱形的一端是整体,另外一端是部分。区别就是菱形是空心还是实心的。从C++程序来看的话,如果图 画成实心菱形的话,Class1就要负责Class2的创建和销毁。更准确的说,就是如果Class1不存在了,Class2也一定不存在。而组成 (Composition)关系是指,如果在Class1的对象销毁的时候,比如在析构函数中没有将数据成员销毁的代码,那么这种关系就是组成 (Composition)关系。当然,销毁数据成员的代码,会有很多种。

依赖关系

依赖关系就是在一个类中使用了另一个类。例如下面的代码

Class1::DoSomething()

{

Class3 obj;

obj.DoClass3Work();

}

就是这样的情况。画成图的话就像下面这样。

clip_image006

简单的说,聚集表示的是一种不可分隔的整体与部分的关系。组成则是一种相对松耦合的关系,整体有部分组成,但部分可独立于整体而存在。

依赖关系则表示一种更一般的关系,只要有点关系就可以是依赖关系,比如调用关系

转自:http://hi.baidu.com/lee_eva/blog/item/6af17496275c0f6754fb96ee.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26505.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员画图利器——Visio

前两天老师让我们画图,可是给我愁坏了,当时老师给我们的是Visio2003,那个软件现在看来真的是好老一套的东西(可能老师用的时间比较长了吧),后来我自己又把Visio2003卸载掉,换成了Visio2016&…

如何用Visio2013画状态转换图

今天突然需要用Visio画状态转换图了……首先声明,用简单图形来画不难,必应可以搜到那种方法,这里不赘述。下面我说说我的办法,首先,状态转换图需要圆角矩形、实心圆、同心圆、箭头。经过一番寻找,在更多图形…

使用Visio画各种可视化的流程图之PERT图和日历图

一、PERT图 PETR图:用于项目或任务管理的PERT图表、日程、议程、任务分解结构、关键路径法、项目周期、目标设定和日程表。 步骤如下: 1.点击新建->类别-日程安排-PERT-创建。 2.拖动PERT1、PERT2到绘图页,并编辑任务属性。 3.根据任务之间的关系进行连接。 4…

比visio简单好用的绘图工具AxGlyph

文章目录 1 绘图效果例子1例子2 2 软件界面3 操作说明3.1 设置快捷键3.2 创建一个二维图形3.3 创建一个长方体3.4 设置两个物体的位置关系3.5 添加文字说明3.6 设置图层 4 绘制一个简单的流程图步骤1:创建框步骤2:去除颜色(个人喜好)步骤3:输…

一款性价比远超visio的画图小工具-Dia Diagram Editor(开源-跨平台)

前言 首先,流程图界的扛把子Visio,其功能方面是毋庸置疑的; 对比visodia安装包大小几百兆20兆以内安装后大小大70兆以内跨平台微软套装跨平台用户体验非常好可以用 但是问题,dia小呀,而且基本功能完全满足我的需求&…

使用Visio—UML画类图

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

用Visio画软件(模块)功能图

最开始自己也不会画,画了好久也没画出自己心中所想的,比如下图这样的: 在形状框中搜索“方块”,其中的图形有“框”和“多树枝直角”这两个组件 从左边的“框”拖动到右边的幕布上,自己调整大小,双击编辑文…

用ChatGPT创作论文

ChatGPT 无法创作长文,但是可以借助他可以理解上下文的能力,通过引导,使得他一步步创造出内容 下文以写一篇《形势与政策》论文为例 我会向你一步步展示如何引导 chatGPT 一步步写出完整的文本 创作地址:https://aipro.boxly.cn/ 第一步:…

原腾讯QQ技术总监、T13专家,黄希彤被“离职”,原因竟是……

曾经风光无限的互联网“淘金地”,为无数技术人提供了造梦机会,也带领着一批程序员走向致富之路。然而,如今国内各大厂也在经历着“瘦身”运动。 据 TechWeb 消息,近日,腾讯前端开发领袖、原腾讯 QQ 空间技术总监、T13…

技术博客--Go语言调用ChatGPT AI接口

文章目录 一、技术概述二、技术详述Go语言调用ChatGPT接口流程图2.1 导入必要的包2.2 构造请求体2.3 发送HTTP请求2.4 处理响应的数据2.5 提取结果2.6 错误处理 三、遇到的问题和解决过程四、总结五、参考文献 一、技术概述 关于使用Go语言调用ChatGPT API接口,在我…

5分钟掌握利用pycharm插件BitoAI 实现chatgpt自动编写代码

一、BitoAI 简介 最近出现了一款新型编程助手BitoAI。今天的主要内容就是给大家介绍它,号称 IDE 的“瑞士军刀”,可以提升开发 10 倍的效率。 简言之它的强大之处就是可以通过类似于ChatGPT对话的方式来编写代码,分析代码,生成代…

和chatgpt学架构03-引入UI框架(elment-plus)

目录 1 项目目录及文件的具体作用1.1 App.vue1.2 main.js的作用1.3 main.js什么时候被调用1.4 npm run serve干了什么事情1.5 package.json的作用 2 安装UI框架2.1 安装命令2.2 全局引入 3 启动工程总结 我们已经安装好了我们的vue脚手架,用vscode打开工程目录 要自…

android手机图标 足球球星,盘点六大世界足坛球星logo,贝尔艺术感十足

一名职业足球运动员,能够在赛场上踢出精彩的表现,就可以得到球迷以及球队的认可。那么,要想让那些平时偶尔看球的人记住自己,把他们变成自己的粉丝,就需要一个标志性的事物。进球后的庆祝动作,个人球队号码…

ajax 足球球员年薪,2017年足坛年薪排行榜:C罗梅西并列第一(2200万欧元)

2017年足坛年薪排行榜出炉,C罗与梅西并列第一,年薪都是2200万欧元。两人部分伯仲的实力水平也体现在了年薪之上。而2017年足坛俱乐部平均年薪排名中,曼联以684万欧元居首,巴塞罗那和曼城分别以670万欧元和643万欧元紧随其后&#…

大数据告诉你梅西如何制霸足坛!

北京时间今天凌晨上演的欧冠决赛,巴萨以3比1击败尤文,赢得历史上第5座欧冠奖杯。虽然比赛中梅西没有取得进球,不过梅西的发挥依然获得《每日邮报》赛后为球员打分中的最高分。2004年梅西出道以来,素以步频逆天,反应快,球商高,过你没商量著称,他的天赋之高甚至掩盖了人们…

世界足坛的一些著名德比

可能很多朋友都听说过足球比赛中的"德比",什么"西班牙国家德比"、"英格兰默西赛德郡德比"、"德甲鲁尔区德比"等等,"德比"到底是什么? 历史相传,小城德比郡(Derby)曾是英国举办…

足坛转会闲聊

最近工作太紧张,上周有三天都12点之后到的家,生活和工作,还是要尽量平衡,但这往往不现实,尽管有困难,还是要朝着这个方向努力。 今儿闲扯一下,谈谈世界足坛的转会。欧洲五大联赛的顶级球会&…

重新定义座舱智能化的下半场?谁能抓住弯道超车的窗口期

2020年,高通8155上车之前,行业的定义更多是4G联网互联网生态(智能手机的复刻),以斑马智行为代表;而随着集成异构计算、高性能AI引擎(8TOPS算力)的高通8155密集上车,驱动行…

一场内容生产的革命 :从PGC、UGC到AIGC

1 概念解读 1.1 什么是PGC? PGC 是指专业生成内容(Professional Generated Content),是由专业的内容创作者或团队进行创作、编辑和发布的内容。PGC创作方式起源于传统媒体时代,如报纸、杂志、电视和电影等&#xff0…

ruby on rails_将社交登录集成到Ruby on Rails应用程序中

ruby on rails I remember the old days when people had to register for an account separately on each website. 我记得以前人们不得不在每个网站上分别注册一个帐户的日子。 It was a boring and tedious process to repetitively enter the same information over and o…