适配器模式
定义:
将一个类的接口,转换成客户期望的另一个接口,适配器让原来接口不兼容的类可以合作无间
适用性:
适配器模式适用于将一个类的接口转换成客户希望的另一个接口,是的原本由于接口不兼容二不能一起工作的那些类可以一起工作
对象适配器实现:
1、适配器继承自想要转换成的接口类(也就是客户所期望看到的接口)
2、适配器类中含有一个拿去适配的类的对象adaptee
3、用adaptee的方法去实现继承类的方法
//适配器模式
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
//需要呈现的类
class A
{
public:
A(){}
virtual ~A(){}
virtual void doA()=0;
};
//被适配类
class B
{
public:
B(){}
virtual ~B(){}
void doB()
{
printf("I'm B,now function is DoB\n");
}
};
//适配器类
class AdpaterA:public A
{
public:
AdpaterA(B *b):m_b(b){}
virtual ~AdpaterA(){}
void doA()
{
printf("I'm a adpater,I'm realizing the function doA() of class A\n");
m_b->doB();
}
B *m_b;
};
int main()
{
B b;
AdpaterA ad(&b);
ad.doA();
}