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()
  • 相关阅读:
    Java IO包装流如何关闭?
    Validator关于js,jq赋值不触发验证解决办法
    4 统计量&抽样分布
    3 概率的基本概念&离散型随机变量
    2 数据的概括性度量
    1 数据 & 图表
    Python 闭包
    一个自动修正数据时间和补全缺失数据的MapReduce程序
    MapReduce原理
    Hadoop MapReduce常用输入输出格式
  • 原文地址:https://www.cnblogs.com/ouyanxia/p/8360241.html
Copyright © 2011-2022 走看看