入门设计模式之适配器模式
学习更多设计模式请参考:入门设计模式之汇总篇
适配器模式:把一个类的接口转换为客户端需要的另一个接口
比如说,我们去相亲,目标中的女孩是会唱歌会跳舞的女孩,但是介绍人说这个女孩只会唱歌,不会跳舞,那你肯定不会满意呀。不过介绍人说,没关系,我有办法。哦?那我们来看看他有什么办法呢
- 上方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,转载请保留。
博客所有文章首发于公众号《Java学习录》转载请保留
推荐阅读
扫码关注公众号即可领取2000GJava学习资源

【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞