• 适配器模式


    模式定义

    适配器模式:将一个借口转化成客户希望的另一个接口,适配器模式使接口不兼容的类可以一起工作。

    模式结构图

     模式分析

    适配器有如下几个角色

    1.Target(目标抽象类)

    定义客户要用的特定领域的接口,可以是个抽象类或借口,也可以是具体类。

    2.Adapter(适配器类)

    适配器类可以调用另一个接口,作为一个转化器,对Adaptee和Target进行适配,适配器Adapter是适配器模式的核心,在类适配器中,他通过实现Target接口并继承类来使两者修昂胡联系。

    3.Adaptee(适配者类)

    适配者即被适配的角色,它定义了一个已经存在的接口。这个接口需要适配,适配类一般是一个实体类,它包含了客户希望使用的业务方法。

    4.Clientlei(客户类)

    针对目标抽象类进行编程。

    优点:

    (1)将目标类和适配类解耦

    (2)增加了类的透明性和复用性

    (3)灵活性和扩展性很好

    缺点:

    (1)java,C#不支持类的多重继承。

    机器人模仿狗案例

    机器人接口类

    package com.zck.adapter;
    
    //仿生机器人接口
    public interface Robot {
    	public void cry();
    	public void move();
    }
    

      

    狗实体类

    package com.zck.adapter;
    
    public class Dog {
    	public void wang(){
    		System.out.println("狗汪汪叫");
    	}
    	public void run(){
    		System.out.println("狗快快跑");
    	}
    }
    

      

    狗适配器类

    package com.zck.adapter;
    
    public class DogAdapter extends Dog implements Robot {
    
    	public void cry() {
    		System.out.println("机器人模仿");
    		super.wang();
    	}
    
    	public void move() {
    		System.out.println("机器人模仿");
    		super.run();
    
    	}
    
    }
    

      

    客户端类

    package com.zck.adapter;
    
    public class Client {
    	public static void main(String[] args) {
    		DogAdapter dogAdapter = new DogAdapter();
    		Robot robot = dogAdapter;
    		robot.cry();
    		robot.move();
    	}
    
    }
    

      

    测试结果

  • 相关阅读:
    HDFS工作流程
    HADOOP 安全模式
    Hadoop环境的搭建
    面向对象-绑定与非绑定方法
    面向对象-封装
    面向对象-继承与派生
    面向对象-多态与多态性
    面向对象-绑定方法
    LOL游戏基本代码
    1 面向对象的程序设计
  • 原文地址:https://www.cnblogs.com/2016-zck/p/13926308.html
Copyright © 2020-2023  润新知