概念
通过适配器模式可以改变已有类的接口。
适配器的意义
那不同接口调用转换成相同接口的调用,并实现了代码的复用
结构图:
需求:
现有一个家用电器需要使用18V的电源,但是只有220V的电源,通过适配器完成家用电器的使用。
代码实现:
class Current18V{
public:
virtual void useCurrent18V() = 0;
};
class Current220V{
public:
void useCurrent220V(){
cout << "我是220V欢迎使用!" << endl;
}
};
class Adapter :public Current18V{
private:
Current220V *current220V;
public:
Adapter(Current220V *current220V){
this->current220V = current220V;
}
void useCurrent18V(){
cout <<"适配器使用中"<<endl;
current220V->useCurrent220V();
}
~Adapter(){
delete current220V;
}
};
测试代码
int main(void){
Current18V *current18 = new Adapter(new Current220V());
current18->useCurrent18V();
delete current18;
return 0;
}
调试结果: