当前位置:首页 > 编程笔记 > 正文
已解决

14 结构性模式-适配器模式

来自网友在路上 170870提问 提问时间:2023-10-25 16:01:40阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

1 适配器模式介绍

适配器模式(adapter pattern )的原始定义是:将类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。
在这里插入图片描述

2 适配器模式原理

在这里插入图片描述
在这里插入图片描述

3 适配器模式应用实例

在这里插入图片描述

/*** SD卡接口**/
public interface SDCard {//读取SD卡String readSD();//写入SD卡void writeSD(String msg);
}
/*** SD卡实现类**/
public class SDCardImpl implements SDCard {@Overridepublic String readSD() {String msg = "sd card reading data";return msg;}@Overridepublic void writeSD(String msg) {System.out.println("sd card write data : " + msg);}
}
/*** TF卡接口**/
public interface TFCard {//读取TF卡String readTF();//写入TF卡void writeTF(String msg);
}
public class TFCardImpl implements TFCard {@Overridepublic String readTF() {String msg = "tf card reading data";return msg;}@Overridepublic void writeTF(String msg) {System.out.println("tf card write data : " + msg);}
}
/*** 适配器类(SD兼容TF)**/
public class SDAdapterTF  extends TFCardImpl implements SDCard{@Overridepublic String readSD() {System.out.println("adapter read tf card");return readTF();}@Overridepublic void writeSD(String msg) {System.out.println("adapter write tf card");writeTF(msg);}
}
/*** 电脑类**/
public class Computer {public String read(SDCard sdCard){String data = sdCard.readSD();return data;}
}
public class Client {public static void main(String[] args) {Computer computer = new Computer();SDCard sdCard = new SDCardImpl();String read = computer.read(sdCard);System.out.println(read);System.out.println("=====================");SDAdapterTF adapterTF = new SDAdapterTF();System.out.println(computer.read(adapterTF));}
}
4. 对象适配器模式

在这里插入图片描述

/*** 对象适配器-组合形式**/
public class SDAdapterTF2  implements SDCard {private TFCard tfCard;public SDAdapterTF2(TFCard tfCard) {this.tfCard = tfCard;}@Overridepublic String readSD() {System.out.println("adapter read tf card");return tfCard.readTF();}@Overridepublic void writeSD(String msg) {System.out.println("adapter write tf card");tfCard.writeTF(msg);}
}
public class Client {public static void main(String[] args) {Computer computer = new Computer();SDCard sdCard = new SDCardImpl();System.out.println(computer.read(sdCard));System.out.println("=======================");TFCard tfCard = new TFCardImpl();SDAdapterTF2 adapterTF2 = new SDAdapterTF2(tfCard);System.out.println(computer.read(adapterTF2));}
}
5适配器模式总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"14 结构性模式-适配器模式":http://eshow365.cn/6-24249-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!