zoukankan      html  css  js  c++  java
  • 适配器模式Adapter

    适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。 

    • 你想使用一个已经存在的类,而它的接口不符合你的需求。

    • 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

    •(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

    类适配器:

    package com.qinsoft.design;
    
    /**
     * 适配器模式:结构型
     */
    public class Adapter
    {
        public static void main(String[] args) 
        { 
            Target t= new AdapterDemo(); 
            t.Request(); 
        } 
    }
    
    interface Target
    {
        void Request();
    }
    
    class Adaptee
    {
        void SpecificRequst()
        {
            System.out.println("Adaptee's SpecificRequst");
        }
    }
    
    class AdapterDemo extends Adaptee implements Target
    {
        @Override
        public void Request()
        {
            System.out.println("Adapter's Request");
            super.SpecificRequst();
        }
    }

    对象适配器:

    package com.qinsoft.design;
    
    /**
     * 适配器模式:结构型
     */
    public class Adapter
    {
        public static void main(String[] args) 
        { 
            Target t= new AdapterDemo(); 
            t.Request(); 
        } 
    }
    
    interface Target
    {
        void Request();
    }
    
    class Adaptee
    {
        void SpecificRequst()
        {
            System.out.println("Adaptee's SpecificRequst");
        }
    }
    
    class AdapterDemo implements Target
    {
        private Adaptee adaptee; 
    
        public AdapterDemo() 
        { 
            this.adaptee=new Adaptee(); 
        } 
    
        @Override 
        public void Request() { 
             System.out.println("Adapter's Request"); 
             adaptee.SpecificRequst(); 
        } 
    }
  • 相关阅读:
    Android中的内部类引起的内存泄露
    Android的消息机制: Message/MessageQueue/Handler/Looper
    ArrayList/Vector的原理、线程安全和迭代Fail-Fast
    JVM中的Stack和Frame
    JVM中的垃圾收集算法和Heap分区简记
    无锁编程以及CAS
    简述Java内存模型的由来、概念及语义
    MQTT协议简记
    RabbitMQ的工作队列和路由
    RabbitMQ 入门
  • 原文地址:https://www.cnblogs.com/hnhcc39/p/2965920.html
Copyright © 2011-2022 走看看