类之间的关系
继承关系
继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是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两种类型在...
在模型资源管理器中选择[StaticModel]-[TopPackage],点鼠标右键,从弹出菜单中选择[New]-[StaticStructureDiagram],即可创建用于制作类结构图的图面。如果从弹出菜单中选择[New]-[SequenceDiagram],即可创建用于...
如类、接口、对象、用例等,"UML 2.0 Icons and Stereotypes.vss"则提供了扩展的图标和类型标识,"UML 2.0 Diagrams (Visio 2007).vst"则包含了多种UML图的布局和样式。 - **类图**:类图展示了类的结构和相互关系...
1. **VisioUML2.2Tips.pdf**:这份文档可能包含了使用Visio 2003和2007创建UML 2.2模型的最佳实践和技巧,包括如何导入模板、如何创建和编辑图元、如何进行自动布局等。 2. **UML2.2-Visio2007.zip** 和 **UML2.2-...
Visio是一款强大的图形绘制软件,尤其在创建流程图、组织结构图和UML(统一建模语言)模型方面表现出色。UML是一种标准化的建模语言,用于软件工程中的系统分析和设计,它通过一系列图形符号来表示软件系统的不同...
Visio 中没有现成的模版画 ER 图,但可以通过自定义解决这个问题:先在“流程图”-〉“基本流程图”中找到菱形和方块,分别右击选择“添加到我的形状”-〉“添加到新模具”,然后出现“另存为”对话框,把新模具...
Visio是一款由Microsoft开发的专业绘图软件,广泛用于创建各种图表,包括流程图、组织结构图、网络图以及我们这里关注的时序图。时序图(Sequence Diagram)是统一建模语言(UML)中的一种图形表示法,主要用于描述...
为每种UML元素定义绘制方法,例如,画一个类就是绘制一个矩形,添加文本标签表示类名,然后添加垂直线表示属性和方法。 3. **事件处理**: 捕获鼠标点击和拖动事件,以便用户可以在画布上绘制和移动元素。还需处理...
《GOF23设计模式的Visio版UML图》是一个关于软件设计模式的重要资源,它包含用Visio工具绘制的UML(统一建模语言)图表,详细展现了GOF23中的23种经典设计模式。这些模式是面向对象编程和设计中不可或缺的组成部分,...
此外,也可以使用交互图(如顺序图和协作图)来描述类之间的协作方式。 3. **设计阶段**:在这个阶段,除了问题域的对象外,还会引入技术细节(如用户界面、数据库等)。设计阶段的任务是为后续的编码阶段提供详细...
**UML 2.5 Symbols (Visio2013)**模板包含了一系列UML 2.5规范中的图形符号,如类图、接口图、用例图、活动图、顺序图、通信图、组件图、部署图等。这些符号确保了绘制出的模型符合行业标准,增强了与其他开发人员和...
用Visio绘制用例图、静态结构图、包图、活动图、状态图、序列图、协作图、组件图和部署图。介绍每种模型图时,本书会详细介绍其概念、创建步骤和创建示例:最后介绍如何将Visio、UML和.NET结合,开发企业级应用,...
Microsoft Visio是一款强大的图形设计和绘图工具,特别适用于创建流程图、组织结构图以及UML模型。通过Visio,开发者可以方便地绘制各种UML图: 1. **模板支持**:Visio提供了丰富的UML模板,用户可以选择合适的...
Visio则是微软的一款专业绘图软件,尤其擅长创建流程图、组织结构图和UML图表。在.Net项目中,Visio可以提供更为丰富的UML图表类型,如活动图、状态图和组件图,这些在Visual Studio中可能并不全面。Visio的用户界面...
Visio 2013则是Microsoft公司推出的一款专业绘图软件,特别适合创建流程图、组织结构图以及UML模型。本资源包含“uml2.5-visio2013 模板”,专为学习者提供了一套完整的UML 2.5绘图工具,但请注意,该模板仅供学习...
- **绘制图表**:选择所需的UML图类型,例如用例图或类图,然后在画布上添加元素,如类、对象、用例等,并通过简单的拖拽和编辑操作来构建你的模型。 - **属性编辑**:每个UML元素都有自己的属性,Jude提供了直观...
同时,掌握基本的绘图工具,如Visio、PlantUML或在线工具,将帮助你更高效地绘制和分享UML图。 在实际开发中,UML不仅仅是一种静态的描述工具,还可以通过动态模型(如交互图和状态图)展示系统的行为。结合Java和...
然后,参考VisioUML2.2Tips.pdf中的指导,了解如何使用这些工具来绘制各种UML图。例如,通过拖拽符号库中的元素到画布上,可以创建类图来表示软件结构;用例图则用来描绘系统与用户的交互;序列图和协作图用于表示...