Fork me on GitHub

入门设计模式之适配器模式

 

学习更多设计模式请参考:入门设计模式之汇总篇

 

适配器模式:把一个类的接口转换为客户端需要的另一个接口

 

比如说,我们去相亲,目标中的女孩是会唱歌会跳舞的女孩,但是介绍人说这个女孩只会唱歌,不会跳舞,那你肯定不会满意呀。不过介绍人说,没关系,我有办法。哦?那我们来看看他有什么办法呢

 

 

  • 上方Girl接口就是我们希望女孩的样子,也就是女孩接口,会唱歌会跳舞。
  • 这个SimpleGirl就是介绍人一开始说的只会唱歌的女孩
  • 下方Adapter就是介绍人的方法了,它就是通过这个类让我们实现了梦想中的女孩,来看一下实现吧
public interface Girl {
    public void sing();
    public void dance();
}

public class SimpleGirl {
    public void sing() {
    }
}

public class Adapter  implements Girl {
    SimpleGirl girl;

    Adapter(SimpleGirl girl){
        this.girl=girl;
    }

    @Override
    public void dance() {

    }
    public void sing() {
        girl.sing();
    }
}

这个实现的原理呢其实就是在女孩类的外面包装了一层,使她学会了跳舞的方法。

 




本文出自https://zhixiang.org.cn/#/blog/read/c59dd69d-f539-43e8-9834-7f28c8f30432,转载请保留。

 

posted @   石玉军  阅读(265)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
点击右上角即可分享
微信分享提示