设计模式 - 学习笔记 - 适配器模式AdapterPattern
发布日期:2021-06-30 14:54:09 浏览次数:2 分类:技术文章

本文共 1348 字,大约阅读时间需要 4 分钟。

设计模式 - 学习笔记 - 适配器模式AdapterPattern

学习总结

  1. 适配器就是:扩展坞、转换器、充电头。
  2. 解决的问题就是将一个目标不支持的接口,转变成一个目标支持的接口。
  3. 典型场景就是功能都具备,衔接处出了问题。比如:一个方法原来的参数类型是P1,现在要P2(仅仅只是类型对不上了)

UML

在这里插入图片描述

代码演示

电源插座 ElectricalSocket

public class ElectricalSocket{
public void chargeUp(IPlug plug2Hole){
System.out.println("插座开始供电。。。"); plug2Hole.plugGePower(); }}

两口插头 Plug

接口 IPlug

public interface IPlug {
public void plugGePower();}

实现类

public class Plug implements IPlug {
public void plugGePower(){
System.out.println("plug接收到电力。。。"); }}

USB公口

USB接口

public interface IUsb {
public void usbGePower();}

实现类

public class Usb implements IUsb {
public void usbGePower(){
System.out.println("usb接收到电力。。。"); }}

手机充电器(适配器) ChargerAdapter

目的是得到所需要的接口,使用继承还是组合自己看情况来定。

public class ChargerAdapter implements IPlug {
private Usb usb; public ChargerAdapter(Usb usb){
this.usb = usb; } @Override public void plugGePower(){
System.out.println("手机充电器适配中:【USB】适配到【插头】"); usb.usbGePower(); }}

客户端 AdapterPatternDemo

public class AdapterPatternDemo{
public static void main(String[] args) {
// 创建插座实例 ElectricalSocket electricalSocket = new ElectricalSocket(); // 通过手机充电器,将USB插头转为插头 IPlug chargerAdapter = new ChargerAdapter(new Usb()); // 将插头插插座上(通电) electricalSocket.chargeUp(chargerAdapter); }}

输出结果

插座开始供电。。。手机充电器适配中:【USB】适配到【插头】usb接收到电力。。。

参考资料

转载地址:https://jerryjin.blog.csdn.net/article/details/115446962 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:IntelliJ IDEA 记学习笔《隐藏文件》
下一篇:设计模式 - 学习笔记 - 装饰器模式DecoratorPattern

发表评论

最新留言

不错!
[***.144.177.141]2024年04月26日 12时15分47秒