类之间的关系
继承关系
继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是is-a关系。也就是说Class2 is a Class1。在C++中我们说Class2是Class1的派生类,或者说Class1是Class2的基类。
聚集和组成
从容易理解的关系说起.经常有一个类是另一格类的数据成员的情况。在UML中表现为,聚集(aggregation)和组成(composition)。
从图上来看,这两种关系都表现为一端是菱形的直线。其中有菱形的一端是整体,另外一端是部分。区别就是菱形是空心还是实心的。从C++曾序来看的话,如果图画成实心菱形的话,Class1就要负责Class2的创建和销毁。更准确的说,就是如果Class1不存在了,Class2也一定不存在。例如象下面的程序。
class Class2
{
};
class Class1
{
Class2 m_objClass2;
}
当然也有下面的情况
class Class2
{
};
class Class1
{
Class1();
~Class1();
Class2* m_pClass2Obj;
};
光看类的声明就不行了。这是就需要看类的实现部分了。
Class1::Class1()
{
m_pClass2Obj = new Class1;
}
Class1::~Class1()
{
delete m_pClass2Obj;
m_pClass2 = NULL;
}
组成(Composition)关系,如果在Class1的对象销毁的时候,比如在析构函数中没有将数据成员销毁的代码,那么这种关系就是聚集(aggregation)关系。当然,销毁数据成员的代码,会有很多种。
依赖关系
依赖关系就是在以个类中使用了另一个类。例如下面的代码
Class1::DoSomething()
{
Class3 obj;
obj.DoClass3Work();
}
就是这样的情况。画成图的话就像下面这样。
转自:http://www.cppblog.com/woaidongmao/archive/2008/08/22/59656.aspx
分享到:
相关推荐
创建类图在模型资源管理器中选择[StaticModel]-[TopPackage],点鼠标右键,从弹出菜单中选择[New]-[StaticStructureDiagram]即可创建用于制作类结构图的图面了.准备工作首先我们遇到的问题是,CRect和BOOL两种类型在...
用Visio绘制用例图、静态结构图、包图、活动图、状态图、序列图、协作图、组件图和部署图。介绍每种模型图时,本书会详细介绍其概念、创建步骤和创建示例:最后介绍如何将Visio、UML和.NET结合,开发企业级应用,...
VISIO功能 1.地图和平面布置图 办公室、展馆布置示意图、立体交通图、地铁及方向图等。 2.工程图 ... 组织结构图、甘特图、鱼骨图、灵感触发图、图表等 6.网络图 网络结构、网站图、详细网络图、机架图
有"用例关系图\对象关系图\类关系图\序列关系图\协作关系图\活动关系图\组件关系图\部署关系图"组成.
UML期末大作业,包括word,pdf 格式文档,以及所需要的部分visio图,作业要求如下: 以一个实际的应用系统为对象,完成以下内容:对系统进行概述、对系统进行用例建模、对系统进行静态建模、对系统进行动态交互建模...
流程图,网络拓扑图,组织结构图,工作流程图,UML,软件设计,商业图表,2D/3D图形,计划/报表,地图/方向图,数据库 等。 它帮助您更方便,更快捷的阐述设计思想,创作灵感。在设计时亿图采用全拖曳式操作,结合5000多个常用...
结束语 实验序号 实验二 实验名称:用Visio设计程序流程图、系统流程图和软件结构图 一.实验目的 二.实验类型:基本型 三.实验结果 1、程序流程图 2、机票预订系统流程图 3、软件结构图 四.结果分析 五.结束语 ...
在这一版中,也支援了 UML 静态结构流程图和网路流程图。目前可以读取和储存流程图到自定的档案格式和汇出成 postscript,并且内建了一些常用的图示,如网路架构及流程图等。 软体特色: 1.轻易绘制不同种类的流程图...
在这一版中,也支援了 UML 静态结构流程图和网路流程图。目前可以读取和储存流程图到自定的档案格式和汇出成 postscript,并且内建了一些常用的图示,如网路架构及流程图等。 软体特色: 1.轻易绘制不同种类的流程图...
流程图,网络拓扑图,组织结构图,工作流程图,UML,软件设计,商业图表,2D/3D图形,计划/报表,地图/方向图,数据库 等。 它帮助您更方便,更快捷的阐述设计思想,创作灵感。在设计时亿图采用全拖曳式操作,结合5000多个常用...
商业版本:TelelogicTAU和RationalRose开源版本:...TelelogicTauSDLSuite主要用于协议的设计、描述、验证及实现,支持图形化的SDL编辑、在线仿真和验证、代码自动生成、MSC(消息顺序图)编辑及测试用例(test
这个是我在2010学期做的UML作业,里面包含了visio制作的自动贩卖机状态图,一份带截图的报告,一份自动贩卖机模拟软件exe文件,一份软件项目C#代码,全部都是原创,供大家娱乐学习之用
实验一 用Visio绘制数据流图、ER图、状态图、软件结构图、程序流程图、系统流程图、UML图 实验二 根据事实和相应的常识,为其设计数据流图、状态图、ER图以及软件结构图(HIPO图 实验三 结合计算机语言程序(VC++、...
系统分析与设计的大作业,关于网上购物...4.系统关联DFD图及0层DFD图,用Visio 2013画的 5.系统用例图 6.系统分析类图 7.设计类 8.时序图或协作图 9.状态图 10.用户界面设计图 用mockups画的,很好看 11.功能结构设计图
支持在MS-Visio 2000和更高版本中创建FMC *图[框图,Petri网,实体关系图(ERD)]的工具。... 该集合使用UML表示法,并包含框图,活动图,序列图,状态图,类图和组件图。 它不包含仿真,导出器甚至形状帮助。
1、ioDraw 是免费的在线作图软件,用于制作流程图、思维导图、甘特图、白板手绘图、拓扑图、组织结构图、UML、ER和时序图、平面设计图、电子电路图等,无需注册即可使用 2、替代Visio的免费软件,无使用限制 3、...
1、ioDraw 是免费的在线作图软件,用于制作流程图、思维导图、甘特图、白板手绘图、拓扑图、组织结构图、UML、ER和时序图、平面设计图、电子电路图等,无需注册即可使用 2、替代Visio的免费软件,无使用限制 3、...
在企业环境中,在人力资源的乡亲需要是能够创建组织结构图,一些商业演示,也许一些方向性图和建筑平面图,引导游客通过设施。但是,在同一个公司,程序员和工程师也需要软件,可以让他们建立UML图,工作流程,程序...
你可以利用 Draw.io 绘制一系列的图表、图示或图形,包括流程图、UML 类图、组织结构图、泳道图、E-R 图、文氏图等等,适用于商务、工程、电气、网络设计、软件设计等诸多领域的专业绘图。 Draw.io 现已改名为 ...