结构型设计模式之适配器模式
2020-05-19 本文已影响0人
飞马_6886
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
UML 类图关系如下
结构型设计模式之适配器模式.jpg实现代码:
//一个苹果包装的接口
public interface IAppleBag {
void applePack();
}
//苹果包装接口的实现
public class AppleBagImpl implements IAppleBag {
@Override
public void applePack() {
System.out.println("用苹果包装盒包装");
}
}
//橘子包装的接口
public interface IOrangeBag {
void orangerPack();
}
// 主角:适配类 使橘子可以用苹果包装来打包
public class OrangerBagAdapter implements IOrangeBag {
public IAppleBag appleBag;
public OrangerBagAdapter(IAppleBag bag){
this.appleBag = bag;
}
@Override
public void orangerPack() {
appleBag.applePack();
}
}
//测试类
public class TestClient {
public static void main(String[] args) {
IAppleBag appleBag = new AppleBagImpl();
IOrangeBag bag = new OrangerBagAdapter(appleBag);
bag.orangerPack();
}
}
执行结果如下:
微信截图_20200519171044.png
这样就完成了用苹果包装来包装橘子的功能。