现在说下adapter模式,adapter模式主要有两种,一种是类的adapter模式,这种adapter模式主要是使用类继承的方式来实现的,即主要有三个类,一个是实现功能的adaptee

类,这个就好像是我们的第三方软件库中已经实现好的,第二个是target类,这个是我们软件为该功能保留的接口,第三个当然就是adapter类了。图示如下:

类的adapter模式_函数覆盖

这个设计模式一直不是太走心,或者说不太容易让人理解,所以在这儿写下代码吧,权当练习了

#include


using namespace std;
class adaptee
{
public:
adaptee()
{
;
}
~adaptee()
{
;
}
void SpecificRequest()
{
/*真正实现功能的函数所在*/
cout<<"adaptee::SpecificRequest";
}
};
class target
{
public:
target()
{
;
}
~target()
{
;//这个函数主要是要想法设法的调用adaptee的SpecificRequest函数
}
void Request()
{
/*自己系统中表示的要实现该功能的函数*/
cout<<"target::Request\n";
}
};
class adapter:
public target,private adaptee
{
~adapter()
{
;
}
adapter()
{
;
}
void Request()
{
//注意该函数覆盖了父类中的Request
this->SpecificRequest();
}
};
int main()
{
target* ptar=new adapter();
ptar->Request();//实际上调用的还是adaptee的SpecificRequest
delete ptar;
return 1;
}

又熟悉了一遍哈,呵呵不错,关于对象的adapter模式,明天再加吧,有些困了...