类和类之间的关系

在设计模式中类与类之间的关系主要有6种:依赖、关联、聚合、组合、继承、实现,它们之间的耦合度依次增加。

1.依赖
这里写图片描述
依赖关系的定义为:对于两个相对独立的对象,当一个对象依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。一般是A中的某个方法把B的对象作为参数使用或者在A中的某个方法中作为局部变量使用

#include "B.h"
class A
{
    void fun(B& b);
};

2.关联
对于两个相对独立的对象,当一个对象与另一个对象有种某种对应关系,这两个对象之间为关联关系,比如老师和学生。关联分为单向关联,双向关联和自身关联,实现方法一般是A中包含B的某个指针或者引用。

#include "B.h"
class A
{
    B* b;
}

3.聚合
聚合是关联关系的一种,耦合度比关联关系强,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是平等关系,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。比如:
张三和李四,是关联;而张三和张三的杯子是聚合。

#include "B.h"
class A
{
    B* b;
}

4.组合
这里写图片描述
组合是耦合度比聚合还强的一直关系,类和类之间的关系是“整体-部分”的关系,整体和部分具有相同的生命周期,部分不能脱离整体而独立存在,比如:人和身体,身体是人的一部分,不能独立存在。代码实现为A中包含B的成员变量

#include "B.h"
class A
{
    B b;
}

5.继承
这里写图片描述
继承是类和类之间存在父子关系,子类继承父类的属性和方法
6.实现
这里写图片描述
表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值