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++代码代码描述上述关系。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值