美文网首页
结构型设计模式之适配器模式

结构型设计模式之适配器模式

作者: 飞马_6886 | 来源:发表于2020-05-19 17:12 被阅读0次

    将一个类的接口转换成客户希望的另外一个接口。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

    这样就完成了用苹果包装来包装橘子的功能。

    相关文章

      网友评论

          本文标题:结构型设计模式之适配器模式

          本文链接:https://www.haomeiwen.com/subject/myubohtx.html