zoukankan      html  css  js  c++  java
  • Java中的23种设计模式之——适配器Adapter模式(2)

     一、什么是适配器模式?

    适配器模式,属于结构型模式,其主要作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

    /**
     * 适配器(Adapter)模式---结构型
     * 
     * @author ouyanxia
     * DutchAddress类通过适配器调用Address类中的方法
     */
    public class Adapter {
        public static void main(String[] args) {
            Address addr = new Address();
            DutchAddressAdapter addrAdapter = new DutchAddressAdapter(addr);
            System.out.println("
     The DutchAdapter
    ");
            testDutch(addrAdapter);
        }
        static void testDutch(DutchAddress addr){
            addr.straat();
            addr.postcode();
            addr.plaats();
        }
    }
    
    class Address {
        public void street() {
            System.out.println("Address.street()");
            // 实现代码忽略
        }
    
        public void zip() {
            System.out.println("Address.zip()");
            // 实现代码忽略
        }
    
        public void city() {
            System.out.println("Address.city()");
            // 实现代码忽略
        }
    }
    
    class DutchAddress {
        public void straat() {
            // 实现代码忽略
        }
    
        public void postcode() {
            // 实现代码忽略
        }
    
        public void plaats() {
            // 实现代码忽略
        }
    }
    //对象适配器
    class DutchAddressAdapter extends DutchAddress{
        private Address address;
        public DutchAddressAdapter(Address addr){
            address = addr;
        }
        @Override
        public void straat() {
            address.street();
        }
        @Override
        public void postcode() {
            address.zip();
        }
        @Override
        public void plaats() {
            address.city();
        }
    }

    运行结果

     The DutchAdapter
    
    Address.street()
    Address.zip()
    Address.city()
  • 相关阅读:
    如何在 SQLServer 中启用 xp_cmdshell 等
    强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
    [啃书] 预告篇
    [啃书] 第5篇
    [啃书] 第4篇
    [啃书] 第3篇
    [啃书] 第2篇
    [啃书] 第1篇
    [前端随笔][Vue] 多级菜单实现思路——组件嵌套
    [算法小练][图][拓扑排序+深度优先搜索] 平板涂色问题
  • 原文地址:https://www.cnblogs.com/ouyanxia/p/8360241.html
Copyright © 2011-2022 走看看