公司查名网站,常见的网站结构,百度账号登陆,专业ppt代做作用: 将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 UML示意图 1)采用继承原有接口类的方式 2)采用组合原有接口类的方式 解析: Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起…作用: 将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 UML示意图 1)采用继承原有接口类的方式 2)采用组合原有接口类的方式 解析: Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能. 实现: Adapt模式有两种实现办法,一种是采用继承原有接口类的方法,一种是采用组合原有接口类的方法,这里采用的是第二种实现方法. #include iostream using namespace std; // 需要被Adapt的类 class Target { public: Target(){} virtual ~Target() {} virtual void Request() 0; }; // 与被Adapt对象提供不兼容接口的类 class Adaptee { public: Adaptee(){} ~Adaptee(){} void SpecialRequest(); }; // 进行Adapt的类,采用聚合原有接口类的方式 class Adapter : public Target { public: Adapter(Adaptee* pAdaptee); virtual ~Adapter(); virtual void Request(); private: Adaptee* m_pAdptee; }; void Adaptee::SpecialRequest() { cout SpecialRequest of Adapteen; } Adapter::Adapter(Adaptee* pAdaptee) : m_pAdptee(pAdaptee) { } Adapter::~Adapter() { delete m_pAdptee; m_pAdptee NULL; } void Adapter::Request() { cout Request of Adaptern; m_pAdptee-SpecialRequest(); } void main() { Adaptee *pAdaptee new Adaptee; Target *pTarget new Adapter(pAdaptee); pTarget-Request(); delete pTarget; }