zoukankan      html  css  js  c++  java
  • Java 设计模式(4)适配器模式

    前言

       假如当年去打东方不败的只有令狐冲一个人,那么他就得有三十年的武学功底,外加上吸星大法和独孤九剑才能够战得过。而现在令狐冲只有了任我行三十年的武学功底,请问怎么样才能够战过东方不败?

      把这个问题抽象成下面几个对象。

      战得过东方不败

      {

        三十年功力;

        吸星大法;

        独孤九剑;

      }

      令狐冲

      {

        三十年功力;

      }

      而现在我们需要的是

      增强版令狐冲

      {

        三十年功力;

        吸星大法;

        独孤九剑;

      }

      采用适配器模式就能够解决这个问题。

      适配器模式中有三个角色:

      1)目标  Target   想要实现的目标,上面就是战得过东方不败这个目标,一般用接口实现

      2)需要适配的类 Adaptee  在上面就是只有三十年功底的令狐冲啦

      3)适配器 Adapter  这个就是我们希望得到的增强版令狐冲。

      

    实现

    interface 胜利               //目标
    {
         三十年功底();
         独孤九剑();
         吸星大法();          
    }
    class 令狐冲                 //Adaptee
    {
         三十年动力();  
    }
    
    //Adapter       
    
    class 增强版令狐冲  extends 令狐冲 implements 胜利
    {
         三十年功底();
         独孤九剑();
         吸星大法();      
    }

      简单来说:继承要适配的类并实现目标的方法。

  • 相关阅读:
    checkbox radio select 选中总结
    vue-cli3总结
    数组总结
    Object 总结
    ajax总结
    canvas
    移动端事件
    微服务架构 SpringBoot(一)
    spring+activemq实战之配置监听多队列实现不同队列消息消费
    Integer 数值比较
  • 原文地址:https://www.cnblogs.com/maydow/p/4833925.html
Copyright © 2011-2022 走看看