组合才是真谛——桥接模式

桥接模式

在这里插入图片描述

桥接模式UML

桥接模式是指将抽象部分和实现部分以“组合”的方式分离

#pragma once
#include <iostream>
#include <vector>
#include <string>
#include <Windows.h>

using namespace std;

//桥接模式
//实现类(我们来抽象手机功能举例)
class PhoneSys 
{
public:
	virtual void func() = NULL;
};

//X卓系统
class Adr : public PhoneSys
{
public:
	virtual void func()
	{
		cout << "power by x卓系统" << endl;
	}
};

//apple系统
class apple : public PhoneSys
{
public:
	virtual void func()
	{
		cout << "power by apple系统" << endl;
	}
};

//抽象类(我们来抽象手机品牌举例)
class Phone
{
protected:
	PhoneSys* power;	//系统支持
public:
	Phone(PhoneSys* p) {
		if (NULL != p)
			power = p;
	}

	void operate() {
		power->func();
	}
};

class iphone : public Phone
{
public:
	iphone(PhoneSys* p) : Phone(p){}
	void name(){ cout << "苹果手机" << endl; }
};

class mi : public Phone
{
public:
	mi(PhoneSys* p) : Phone(p) {}
	void name() { cout << "mi手机" << endl; }
};

int main()
{
	Adr	adrSys;
	apple appleSys;
	iphone a(&appleSys);
	mi b(&adrSys);

	a.name();
	a.operate();

	b.name();
	b.operate();

	system("pause");
	return 1;
}

桥接模式的主要思想是把“功能实现”分离、独立出来。进而减少代码的耦合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值