java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习

在这里插入图片描述
//----------适配器模式-------------------
在这里插入图片描述
在这里插入图片描述
//----------------------键盘类--------------
package java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习;
/**

  • 被适配的类(相对于例子中的ps/2键盘)
    */
    public class Adaptee {// Adpatee被改造者

    public void request(){//request请求
    System.out.println(“可以完成客户请求的需要的功能”);
    }
    }
    //------------------------适配器接口---------------------
    package java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习;
    /**
    适配器接口
    /
    public interface Target {//interface接口;Target目标
    void handleReq();//handleReq处理请求
    }
    //-------------------关联的2种方式----1.继承--------------
    package java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习;
    /

  • 类适配器方式
    *适配器本身(相对于USB与ps/2的转接器)

*/

//关联的2种方式
//1.继承
public class Adapter extends Adaptee implements Target{//这里有个缺点; Adapter继承了Adapteejava是单继承;无法继承其他类;不够灵活
public void handleReq() {
super.request();//request请求
}
}
//-------关联的2种方式—2.整合(对象适配器方式)-------
package java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习;
/**

  • 对象适配器方式,使用了组合的方式跟被被适配器对象整合
    *适配器本身(相对于USB与ps/2的转接器)

/
//关联的2种方式
//2.整合(对象适配器方式)
public class Adapter2 implements Target{//这里有个缺点; Adapter继承了Adapteejava是单继承;无法继承其他类;不够灵活
//添加属性
private Adaptee adaptee;
//重写
public void handleReq() {
adaptee.request();//request请求;调用adaptee方法
}
//构造器
public Adapter2(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}
}
//---------------------客户端-------------------
package java_235_GOF23设计模式_适配器模式_对象适配器_类适配器_开发中场景_练习;
/
*
*客户端(相对于例子中的笔记本,只有USB接口)
*/
public class Client {
public void test1(Target t){//Target目标
t.handleReq();//调用USB接口;handleReq处理请求
}
public static void main(String[] args) {
Client c = new Client();//相对于笔记本电脑
Adaptee a = new Adaptee();//相对于键盘
Target t = new Adapter();

	Target t2 = new  Adapter2(a);
	
	//调用这个方法
	c.test1(t);
	c.test1(t2); 
}

}
//---------------结果-----------------------

在这里插入图片描述
工作中的应用场景
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值