用VISIO画类图.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VISIO画类图

因为类图很直观,所以恐怕C++成员首先接触到的应该就是类图了.在这篇文章中我们要将下面一个在MFC程序中随处可以见到类用UML图表现出来. class CGraphicObject CRect m_rectBound; public: BOOL SetRect CRect rect ; CRect GetRect ; ; 创建类图 在模型资源管理器中选择[Static Model]-[Top Package],点鼠标右键,从弹出菜单中选择[New]-[Static Structure Diagram]即可创建用于制作类结构图的图面了. 准备工作 首先我们遇到的问题是,CRect和BOOL两种类型在Visio数据类型中找不到.所以我们先从追加数据类型开始.为了便于管理我们会先创建MFC数据类型包. 创建数据包 右键点击下图中模型资源管理器的根节点.在弹出菜单中,选择[包]项目. 下图是弹出的包属性对话框.点击[New]按钮,在[UML Package]列中输入[MFC Data Types],点击[OK]按钮结束.上图可以看到追加的MFC数据类型包. 追加BOOL数据类型 在[MFC Data Types]项目上点击右键,选择[New]-[Data Type],在弹出的[UML Datatype Property]窗口中的类别窗口中选择[DataType]项目,在名称项目中填写[BOOL],选择[OK]结束.用同样的方法追加CRect类型. 注意:在MFC中CRect是一个类,但是由于我们并不关心CRect的细节,所以把CRect作为简单数据类型来处理. 追加一个类 追加一个类很简单,然后从形状窗口中的[UML Static Sturcture]分类中拖动[Class]对象就可以了. 设定类的详细信息 设定类的详细信息的大部分工作都是同时属性对话框实现的.对于C++程序员来说,需要设定的内容包括类名,数据成员,成员函数. 以开头提到的类为例。 类名 首先在[Categories]窗口中选择[Class]项目,然后在右面的名称栏目中写入类名就可以了.在这一页中我们可以暂时不必在意其他的内容. 如果只是设定类名的话,大可不必用属性对话框.只要在选中类对象后,再在最上面一栏中单击左键,然后在输入就可以了. 添加数据成员 在[Categories]窗口中选择[Attributes]项目,在右面的画面中增加属性。[Attribute]栏目中写入变量名,[Type]是用来选择数据类型的。这里我们选择[MFC DataTypes::CRect]。[Visibility]栏目选择的是这个成员是公共的 public ,保护的 protected 还是私有的 private 。这里我们选择[protected].[Multiplicity]一般翻译成多重性,是指,在类中,数据成员的个数。[1]代表在这个类中,有而且只有一个数据成员。[0..1]表示,没有或者有一个。可以在[Init.Value]中输入数据成员的初值。 增加成员函数 在[Category]窗口中选择[Operations]项目,在右面的表格中追加成员函数。在[Visiblility]中选择函数是,共有,保护还是私有的。[Polymorphic]表示函数是否为多态,也就是使否是虚函数。[Scope]表示一个函数是属于实例(instance)还是属于类(classifier),静态函数,也被称为类的成员函数,普通的成员函数也被称为实例的成员函数。所以如过,在这里选中了[classifier],就说明这个函数是静态函数。 上面的操作,只是设定函数的一些基本信息,更详细的信息可以通过选中函数后,点击[属性]按钮,在出现的[UML Operation Properties]窗口中设定。首先是设定函数的基本信息。和上面的窗口重复的内容,我们不再说明。我们只说明[Profix]和[Suffix]。如果我们想要返回的类型是指针类型或者是应用类型的话,只要在[suffix]中填写[*]或[]就可以了。 接下来是设定函数的参数。这个函数只有一个参数rect,但是[Parameter]窗口中却出现了,两个参数。不过通过观察[Kind]列的内容可以知道,第一个参数[SetRect]是函数的返回值。第二个[rect]才是我们想要的。这个参数的[Kind]是[in]表明这个参数是用来向函数传递信息的。如果是用来取得信息的,就选择[out],如果是双方向传递信息的,就选择[inout]。 完成上面的工作以后,点击[OK]按钮两次,回到作图画面。来看看我们的成果吧。 实际的例子工程中的CGraphicObject的UML图可以参照Sample1Vsd.zip.

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档