C++中类之间的关系
摘要:
本文讲解面向对象C++程序设计中类之间的关系。并用UML类图描述这些关系。
关键词:
面向对象 类 对象 C++ UML
适用对象
对C++有一定基础的初级同学
面向对象编程的核心:类
面向对象的思想下编程过程可以减化为:
1. 识别和发现备选对象
2. 给对象分配职责
3. 确定对象之间的关系
下面列出一些术语,如果同学位对这些术语还不太了解,那么请要求我给大家作补充说明。
编号 | 术语 | 原文 |
1 | 类 | Class |
2 | 对象 | Object |
3 | 实例 | Instance |
4 | 属性 | attribute |
5 | 操作(成员函数) | operation |
7 | UML | Unified Modeling Language |
类之间的关系
关系1: 没有关系
两个对象之间如果没有关系,那么它们是孤立的。
关系2: 关联关系 (Association)
A和B之间是关联关系;
C与自己关联
关系3:有方向的关联关系 (DirectedAssociation)
关联还可以有方向性的。如下图
这种关系是关联关系的一种。
关系4: 聚合关系(Aggregate)
聚合关系也是关联关系的一种,这种关系能确定两个类之间的部分或整体关系。
关系5: 组合关系(composite)
组合关系也是一种部分和整体之间的关系。您能区分组合与聚合的区别吗?这个问题当作业来讨论吧。
关系6:泛化关系(Generalization)
泛化关系就是常见的继承关系。Student.csdn.net社区中的用户可以模型化为上图。
关系7:依赖关系(Dependency)
比如用户有一个登录的操作,用户密码在数据库在以MD5的形式存放,登录操作要用MD5类提供的decode()方法进行明码到密码的转换。
关系8:实现(Realization)
关系9:参数化关系(Parameter)
这种关系UML中还没有定义,我暂时为它命名这Parameter关系吧。
作业:
1. 说说聚合与组合关系的差别。
2. 尝试用C++代码代码描述上述关系。
分享到:
相关推荐
C++类之间的关系1课程实验及报告
C++ MSDN的类总图,显示了所有类 之间的关系 非常有用!~~
C++类之间的关系2课程实验及报告
可以分析源代码中各个类之间的关系 是基类或之类 继承关系
> - 类之间的横向关系和纵向关系是C++中很重要的一部分知识点,初学C++者通过练习这个项目可以加深对C++中类之间关系的理解,可以对理论上的相关概念加以实践练习,对学习C++很有帮助。 > - 如发现源代码中有错误...
c++ 类的互相调用的方法,是今天弄明白的,这里提供例子和说明给大家参考,从而告诉大家C++中类与类之间的关系,是不能烂用乱用的.希望能给大家启发.
文档中对常用的集中编程环境进行了深入的分析与探讨,分析了他们之间的关系与区别之处
托管和非托管的数据类型关系. 做开发手中必备的参考资料
C++数据类型与C#数据类型之间的对应关系
Microsoft Visual c++ 各版本之间关系(非常全).docx
cryengine3中武器创建与C++之间的关系
在 Linux 环境下,借助工具 Code Vize 可提取出开源软件中函数以及函数之间的依赖关系,并将分析结果以文本形式输出到文件中,然后借助于可视化工具 Graphviz 可将节点以及节点之间的依赖关系以图形化的方式 展示...
通过实例,可以清晰地知道类的各种关系。类的封装继承多态,三大特性贯穿编程始终,是面向对象的特征所在。
很多初学者对C++与VC++之间的区别和联系不是很清楚,看了这本书以后能忙您更好的理解它们之间的关系,让你轻松编程!
5. 关于C++与C语言的关系的描述中,( )是错误的。 A. C语言是C++的一个子集; B. C语言与C++是兼容的; C. C++对C语言进行了一些改进; D. C++和C语言都是面向对象的; 6. 下面关于对象概念的描述中,( )是错误的。...
利用eigen库内矩阵运算函数,写了LinesPositionRelationship3D类。实现了确定三维空间任意两条直线位置关系并获得在平行和交错条件下的两直线距离的功能。该类是在确定空间两圆柱轴线关系下的副产品。
在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单 独工作更大的语义。
华为 C++ 培训资料 经典 ...word讲解C++语言中级教材讲授C++语言的运用技术,包括:类、对象之间的关系、对象的存储与布局、运算符重载、智能指针、仿函数、泛型编程,C++模式设计基本思想。下载看吧
3. 类之间的关系 Relationships between classes: friend. Inheritance 4. 虚拟成员,抽象,多态 Virtual Members. Abstraction. Polymorphism 6. C++高级 Advanced concepts 1. 模板 Templates 2. 名空间 ...