C++类之间的关系

大家在设计一个项目的时候,而且通常情况下需要设计出整个项目的类图。
一个项目中有很多类,这些类之间关系一般通过UML类图表现出来,那么类与类之间的关系有哪些呢?

  • 1.泛化

泛化关系:就是继承关系。这也是C++中两个类之间最重要的关系,表示is-a的关系。
动物类作为基类,老虎类继承自动物类。老虎不但有动物的一切特征同时还有自己成员。
代码体现:继承

  • 2.组合

组合关系:整体与局部的关系,更是强调具有相同的生命周期,具有很强的耦合关系,表示contains-a关系。
比如:老虎和虎皮的关系。只要有老虎就有虎皮,老虎没了也就没有虎皮了。
代码体现:成员变量

  • 3.聚合

聚合关系:也是整体和局部的关系,单独存在也是可以的,是一种很弱的耦合关系,表示has-a关系。
比如:虎群和老虎。老虎可以离开虎群而单独存在,他们有各自的生命周期。
代码体现:成员变量

  • 4.关联

关联关系:表示两个类之间有关联,类之间有影响。比如老虎或者虎群和天气之间的关系就是关联关系。
代码体现:成员变量

  • 5.接口

接口:也是继承关系,只不过这里只提供相应的方法,而不提供实现。在子类中去实现
比如:老虎继承吃这个接口,吃这个接口提供了具体的函数,任何一个继承这个接口的类都要实现这样的接口函数。
代码体现:继承

  • 6.依赖

依赖关系:表达了使用关系,也就是一个类需要另外一个类作为参数,是一种临时性的关联。依赖关系尽量是单向的,不要双向的。
代码体现:一般指有局部变量、函数参数、返回值建立起来的不同对象之间的关系

以上就是之间的关系!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值