假设有一个中国插头的设备,但你在美国,这里的插座是美国标准的。你可以创建一个适配器,将中国插头适配到美国插座。
- // 目标接口
- interface USPlug {
- void plugIn();
- }
-
- // 被适配者
- class ZHPlug {
- void insert() {
- System.out.println("Inserting ZH plug");
- }
- }
-
- // 适配器
- class ZHToUSPlugAdapter implements USPlug {
- private ZHPlug zhPlug;
-
- public ZHToUSPlugAdapter(ZHPlug zhPlug) {
- this.zhPlug = zhPlug;
- }
-
- @Override
- public void plugIn() {
- zhPlug.insert();
- System.out.println("Adapter converting to US plug");
- }
- }
-
- // 客户端
- public class Client {
- public static void main(String[] args) {
- // 使用适配器
- ZHPlug ukPlug = new ZHPlug();
- USPlug usPlugAdapter = new ZHToUSPlugAdapter(zhPlug);
-
- // 客户端只需要与目标接口交互
- usPlugAdapter.plugIn();
- }
- }