适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。 将一个类的接口转换成另一个类的接口,使原本因为接口不兼容的类能够相互工作。 这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。
AdapterPattern.h
#pragma once
#include<iostream>
#include<string>
class Current18V
{
public:
virtual void useCurrent18V() = 0;
};
class Current220V
{
public:
void useCurrent220V(void)
{
std::cout << "当前使用电压220V" << std::endl;
}
};
class AdapterPattern:public Current18V
{
public:
AdapterPattern(Current220V * current220V):m_current220V(current220V) {};
~AdapterPattern() { delete m_current220V; };
virtual void useCurrent18V(void)
{
std::cout << "适配器内部" << std::endl;
m_current220V->useCurrent220V();
std::cout << "适配18V" << std::endl;
}
private:
Current220V * m_current220V;
};
AdapterPattern.cpp
#include "AdapterPattern.h"
mainTest.cpp
#include<iostream>
#include"AdapterPattern.h"
int main(void)
{
Current220V* current220V = new Current220V;
AdapterPattern* adapterPattern = new AdapterPattern(current220V);
adapterPattern->useCurrent18V();
delete adapterPattern;
adapterPattern = nullptr;
adapterPattern = nullptr;
system("pause");
return 0;
}