适配器模式:将一个原本接口与现系统不兼容的类转化成客户可以使用的接口形式。
模式中相关类元素:
1.target 定义client使用的特定领域的接口。
2.adaptee 已存在的类,该接口需要适配,方能使用。
3.adapter 对上述adaptee的接口与target接口进行适配。
可以想象:客户在高层只知道target的接口,而想通过adapter使得客户可以使用到adaptee的功能,显然适配器adapter
应该是一个target,这样才可以在运行时使用adapter实例化target,所以adapter应该public继承target,使得adapter is a kind of target。
同时,target为了转化adaptee接口,需要知道adaptee才是,仅仅是需要知道并使用adaptee的功能,可使用私有继承
完成对adaptee的实现继承,或者adapter维护一个adaptee对象指针,可以访问到adaptee即可。
可以看出public继承是一种接口继承,而private继承是一种实现继承。