适配器模式

  适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,它结合了两个独立接口的功能。适配器将一个接口的实现,转换成兼容另外一个实现的接口功能

  场景:通过一个适配器Adaper,将一个老的OldOutput电流接口实现的220V输出,转换成新的TargetOutput电流接口实现的110V输出

  

  输出220V的电流接口和实现

复制代码
/**
 * 老的输出220V的接口
 * @author test11
 */
public interface OldOutput {

    /**
     * 220V输出接口
     */
    public void output220V();
}
复制代码
复制代码
/**
 * 原有输出220V电流的插头
 * @author test11
 */
public class Power implements OldOutput{

    /**
     * 220V的输出
     */
    @Override
    public void output220V() {
        System.out.println("输出220V");
    }
}
复制代码

  适配器:通过实现新的目标输出接口,同时继承老的实现,通过调用父类老的实现,在新的接口中转换成新的实现

复制代码
/**
 * 目标输出电流接口
 * @author test11
 */
public interface TargetOutput {

    /**
     * 将原有电流转化成110V的输出
     */
    public void change110V();
}
复制代码
复制代码
/**
 * 适配器
 * 通过实现新的目标输出接口,同时继承老的实现,通过调用父类老的实现,在新的接口中转换成新的实现
 * 将220V的电源转化成110V的输出
 * @author test11
 */
public class Adapter extends Power implements TargetOutput{

    @Override
    public void change110V() {
        this.output220V();
        System.out.println("转化成110V");
    }
}
复制代码

  用户使用适配器实现110V的电流输出

复制代码
/**
 * 验证类适配器模式
 * @author test11
 */
public class Demo {

    public static void main(String[] args) {
        TargetOutput adapter = new Adapter();
        adapter.change110V();
    }
}
复制代码

 

posted @   纪煜楷  阅读(80)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示