`
pleasetojava
  • 浏览: 729981 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

C++中类之间的关系

阅读更多

C++中类之间的关系

摘要:

本文讲解面向对象C++程序设计中类之间的关系。并用UML类图描述这些关系。

关键词:

面向对象 类 对象 C++ UML

适用对象

对C++有一定基础的初级同学

面向对象编程的核心:类

面向对象的思想下编程过程可以减化为:

1. 识别和发现备选对象

2. 给对象分配职责

3. 确定对象之间的关系

下面列出一些术语,如果同学位对这些术语还不太了解,那么请要求我给大家作补充说明。

编号

术语

原文

1

Class

2

对象

Object

3

实例

Instance

4

属性

attribute

5

操作(成员函数)

operation

6

关系

relationship

7

UML

Unified Modeling Language

8

类图

Class diagram

类之间的关系

关系1: 没有关系

两个对象之间如果没有关系,那么它们是孤立的。

clip_image002

关系2: 关联关系 (Association)

clip_image004

A和B之间是关联关系;

C与自己关联

关系3:有方向的关联关系 (DirectedAssociation)

关联还可以有方向性的。如下图

clip_image006

这种关系是关联关系的一种。

关系4: 聚合关系(Aggregate)

聚合关系也是关联关系的一种,这种关系能确定两个类之间的部分或整体关系。

clip_image008

关系5: 组合关系(composite)

clip_image010

组合关系也是一种部分和整体之间的关系。您能区分组合与聚合的区别吗?这个问题当作业来讨论吧。

关系6:泛化关系(Generalization)

clip_image012

泛化关系就是常见的继承关系。Student.csdn.net社区中的用户可以模型化为上图。

关系7:依赖关系(Dependency)

clip_image014

比如用户有一个登录的操作,用户密码在数据库在以MD5的形式存放,登录操作要用MD5类提供的decode()方法进行明码到密码的转换。

关系8:实现(Realization)

clip_image016

关系9:参数化关系(Parameter)

clip_image018

这种关系UML中还没有定义,我暂时为它命名这Parameter关系吧。

作业:

1. 说说聚合与组合关系的差别。

2. 尝试用C++代码代码描述上述关系。

分享到:
评论

相关推荐

    C++类之间的关系1.zip

    在这个“C++类之间的关系1”课程实验及报告中,我们将深入探讨这些核心主题。 **1. 继承(Inheritance)** 继承允许一个类(子类或派生类)从另一个类(基类或父类)继承属性和行为。这种机制使得代码重用变得容易...

    基于C++开发的宠物小屋源码+项目说明+sln解决方案(课程设计).zip

    > - 类之间的横向关系和纵向关系是C++中很重要的一部分知识点,初学C++者通过练习这个项目可以加深对C++中类之间关系的理解,可以对理论上的相关概念加以实践练习,对学习C++很有帮助。 > - 如发现源代码中有错误...

    C++ 类继承图 所有类关系

    C++ MSDN的类总图,显示了所有类 之间的关系 非常有用!~~

    C++类之间的关系2.zip

    继承是C++类之间关系的基础,允许一个类(子类或派生类)从另一个类(基类或父类)继承属性和行为。通过继承,子类可以重用基类的功能,并根据需要添加新的特性和方法。继承有助于代码复用,提高程序的可维护性和...

    C#与C++之间类型的对应关系

    本文将详细探讨C#与C++之间的类型对应关系,这对于跨平台开发或者混合编程环境中的开发者来说至关重要。 首先,C#是一种.NET框架下的高级编程语言,它由微软公司开发,强调安全性和可维护性。C++则是一种静态类型的...

    C++数据类型与C#数据类型之间的对应关系

    C++数据类型与C#数据类型之间的对应关系 C++数据类型与C#数据类型之间的对应关系是一个非常重要的知识点,特别是在进行C++和C#之间的交互操作时。下面我们将详细介绍C++数据类型与C#数据类型之间的对应关系。 一、...

    分析c++源代码中类的关系

    可以分析源代码中各个类之间的关系 是基类或之类 继承关系

    C++ 包含类两个类互相调用彼此的类成员变量和方法

    总结,C++中类之间的相互调用是一种强大的设计手段,但需要谨慎处理循环包含和封装性问题。通过前置声明、智能指针和朋友函数,我们可以有效地解决这些问题,实现类之间的有效协作。在实际项目中,应尽量减少这种...

    C++类间关系

    C++类间关系是指在对象模型中,类之间的依赖、关联和聚集关系。了解类间关系对建立正确的对象模型非常重要。在本文中,我们将详细解释C++类间关系,包括依赖关系、关联关系和聚集关系。 一、依赖关系 依赖关系是指...

    c++ 类的互相调用的方法

    在C++编程中,类的互相调用是一个...总结起来,C++中类的互相调用是一种强大的工具,但也需要谨慎使用。理解并熟练运用成员函数调用和友元函数,以及遵循良好的面向对象设计原则,可以帮助我们构建高效、可扩展的代码。

    c++抽象类继承

    根据给定的信息,我们可以深入探讨C++中的抽象类与继承机制。下面将详细介绍如何通过抽象类和继承在C++中实现特定的功能。 ### 概述 在这个示例中,我们有三个具体的类:`Student`、`Lecture` 和 `Module`,它们都...

    浅析java、C#、C++及VC之间关系

    本文主要探讨了Java、C#、C++以及Visual C++(VC)这四种编程语言之间的关系和各自的特点,旨在帮助读者理解它们在开发环境中的差异和适用场景。 首先,Java是一种跨平台的编程语言,其运行依赖于Java虚拟机(JVM)。...

    c++嵌套类详细分析

    C++中的嵌套类是指在一个类中定义的类,定义嵌套类的目的是隐藏类名,减少全局的标识符,从而限制用户能否使用该类建立对象。这样可以提高类的抽象能力,并且强调了两个类(外围类和嵌套类)之间的主从关系。 嵌套...

    C++builder VCL继承关系全图

    C++Builder VCL继承关系全图则是理解这一类库的关键,它揭示了各个类之间的层次结构和相互关系。 VCL的核心是System单元,其中定义了基础类如TObject,它是所有VCL类的基类,包含了内存管理、事件处理等基本功能。...

    C/C++ 类关系

    在C/C++编程语言中,类之间的关系是面向对象设计的基础,理解这些关系对于编写高质量、易于维护和扩展的代码至关重要。以下详细解析了C/C++中的类关系:关联、聚合/组合、依赖、泛化(继承)。 首先,我们来看关联...

    c# 与C++ 类之间的转化

    在跨语言编程中,特别是当需要将 C# 代码与 C++ 的动态链接库(DLL)结合使用时,理解不同语言类型之间的转换规则至关重要。本文将详细探讨 C# 如何与 C++ DLL 进行交互时涉及到的各种数据类型转换方法。 #### C# ...

    20121128武器创建与C++之间的关系.txt

    在探讨《20121128武器创建与C++之间的关系》这一主题时,我们深入剖析了CryEngine3引擎中武器创建机制与C++编程语言的紧密联系。CryEngine3作为一款高性能的游戏开发引擎,其内部架构与功能实现大量依赖于C++的强大...

    Microsoft Visual c++ 各版本之间关系(非常全).docx

    Microsoft Visual c++ 各版本之间关系(非常全).docx

    C++实验类图

    在C++编程中,类图是一种UML(统一建模语言)图表,用于表示类、接口、它们之间的关系以及操作和属性。类图是面向对象设计的重要组成部分,它提供了对系统结构的可视化表示,帮助开发者理解和设计代码的组织结构。在...

    C++ 类和对象

    类和对象之间的关系可以理解为抽象和具体的关系。类是对一类事物的抽象描述,而对象则是这些事物的具体实例。通过类和对象,C++提供了封装、继承和多态这三大面向对象编程的特性,使得代码更易于维护和扩展。 在...

Global site tag (gtag.js) - Google Analytics