Java 适配器模式

╰半夏微凉° 2022-03-25 21:00 270阅读 0赞

什么是适配器模式:

  1. 就是将一个类的接口转换成客户需要的另一个接口,它的职责是将本来不能在一起工作的类,可以一起工作。

适配器模式中的角色:

  1. 目标接口:客户所期待的接口,目标可以是具体的,或抽象的类,也可以是接口。
  2. 需要被适配的类: 需要适配的类或者被适配的类
  3. 适配器:通过包装一个需要适配的对象,把原接口转换成目标接口。

案例:

  1. 如果我们有一台笔记本,只有有个usb键盘接口,现在我只有一个ps/2接口的键盘,我想连上这台笔记本。我们会怎么做?

一般都是找个适配器,两者就可以在一起工作了。

  1. // 目标接口
  2. public interface TargetObject {
  3. void handleRequest();
  4. }
  5. //被适配的类(相当于我们举的例子中ps/2键盘)
  6. public class Adapted {
  7. public void request(){
  8. Log.d("Adapted","ps/2接口键盘也可以连上只有usb接口的笔记本");
  9. }
  10. }
  11. //这是客户端类,相当于我们举的例子中的笔记本,而且我们的笔记本只有usb接口
  12. public class Client {
  13. public void needUsb(TargetObject target){
  14. target.handleRequest();
  15. }
  16. }
  17. //适配器(相当于usb和ps/2的转接器)
  18. public class Adapter implements TargetObject{
  19. //使用对象组合的方式
  20. private Adapted adapted;
  21. public Adapter(Adapted adapted) {
  22. this.adapted = adapted;
  23. }
  24. @Override
  25. public void handleRequest() {
  26. //具体工作时,本来这里该usb键盘工作的,现在由ps/2键盘(被适配的类)处理
  27. adapted.request();
  28. }
  29. }
  30. //实例化客户端(本例中是笔记本)
  31. Client client=new Client();
  32. //实例化被适配的类(本例中是ps/2键盘)
  33. Adapted adapted=new Adapted();
  34. //实例化适配器(本例中是usb和ps/2的适配器)
  35. TargetObject target=new Adapter(adapted);
  36. //调用客户端的方法
  37. client.needUsb(target);

结果:

20190115171724956.png

发表评论

表情:
评论列表 (有 0 条评论,270人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java适配器模式

    java适配器模式 前言 1,创建报表顶层接口 2,更多其他报表接口 3,实现其他报表接口 4,创建适配器,适配器需实现报表顶层接口

    相关 java适配器模式之类适配器

    一.类适配器模式 定义:适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。 原理:通

    相关 Java 适配器模式

    什么是适配器模式:                   就是将一个类的接口转换成客户需要的另一个接口,它的职责是将本来不能在一起工作的类,可以一起工作。 适配器模式中的角色