温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Java项目中使用适配器模式

发布时间:2020-11-23 16:19:08 来源:亿速云 阅读:161 作者:Leah 栏目:编程语言

本篇文章为大家展示了如何在Java项目中使用适配器模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

适配器一共包括3种角色

1、目标:目标是一个接口,该接口是客户想使用的接口

2、被适配者:被适配者是一个已存在的接口或抽象类,这个接口或抽象类需要适配

3、适配器:适配器是一个类,该类实现了目标接口并包含有被适配者的引用,即适配者的指着是对被适配者接口与目标进行适配

package org.zhy.adapter;
/**
 * 目标
 * @author zhengyi
 *
 */
public interface ThreeElectricOutlet {
  //用来刻画三相插座
  public abstract void connectElectricCurrent();
}
package org.zhy.adapter;
/**
 * 适配器
 * @author zhengyi
 *
 */
public class TreeElecricAdapter implements ThreeElectricOutlet {
  TwoElectricOutlet outlet;
  public TreeElecricAdapter(TwoElectricOutlet teo) {
    this.outlet=teo;
  }
  @Override
  public void connectElectricCurrent() {
    outlet.connectElectricCurrent();
  }
}
package org.zhy.adapter;
/**
 * 被适配者
 * @author zhengyi
 *
 */
public interface TwoElectricOutlet {
  //刻画两相插座
  public abstract void connectElectricCurrent();
}
package org.zhy.adapter;
public class Appliction {
  public static void main(String[] args) {
    ThreeElectricOutlet outlet; //目标接口三相插座
    Wash wash=new Wash();
    outlet=wash;
    System.out.println("使用三相插座接通电流");
    outlet.connectElectricCurrent();
    Tv tv=new Tv();
    TreeElecricAdapter adapter=new TreeElecricAdapter(tv);
    outlet= adapter;
    System.out.println("使用三相插座接通电流");
    outlet.connectElectricCurrent();
  }
}
package org.zhy.adapter;
/**
 * 洗衣机
 * @author zhengyi
 *
 */
public class Wash implements ThreeElectricOutlet {
  private String name;
  public Wash() {
    name="洗衣机";
  }
  public Wash(String name){
    this.name=name;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"开始洗衣服");
  }
}
package org.zhy.adapter;
/**
 * 电视
 * @author zhengyi
 *
 */
public class Tv implements TwoElectricOutlet {
  private String name;
  public Tv() {
    name="长江电视机";
  }
  public Tv(String s){
    this.name=s;
  }
  @Override
  public void connectElectricCurrent() {
    turnOn();
  }
  private void turnOn(){
    System.out.println(name+"开始播放节目");
  }
}

适配器的适配程度

1、完全适配

如果目标接口中的方法数目与被适配者接口的方法数目相等那么适配器可将被适配者接口与目标接口进行完全适配

2、不完全适配

如果目标接口中的方法数目少于被适配者接口的方法数目那么适配器只能将被适配者接口与目标接口进行适配

3、剩余适配

如果目标接口中的方法数目大于被适配者接口的方法数目。那么适配器可将被适配者接口与目标接口进行完全适配,但必须将目标多余的方法给出用户允许默认实现

适配器模式的优点

1、目标和适配者是完全解耦的关系

2、适配器模式满足“开-闭原则”当添加一个实现Adaptee接口的新类时,不必修改Adaptee,而Adaptee就能对这个新类的实例进行适配

上述内容就是如何在Java项目中使用适配器模式,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI