首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >适配器模式实战:简化Java接口实现

适配器模式实战:简化Java接口实现

原创
作者头像
qife122
发布2025-08-26 14:32:41
发布2025-08-26 14:32:41
840
举报

实现适配器模式

通常实现接口时需要实现该接口中的所有方法。一个很好的例子是Java Swing中的MouseListener。当你需要实现多个方法时,通常可能只捕获其中一个方法。说到这里,你也会发现还提供了一个Mouse Adapter。我们中的一些人经常使用它。这就是适配器模式的一部分。它有时让我的生活更轻松。

适配器是一种结构型模式,让你适应不同的环境。不同环境之间的连接称为适配器。因此,基本上当你的程序成为客户端时,给其他人他们期望的接口,反之亦然。

例如,以下接口期望实现类应该实现所有三个方法:

代码语言:java
复制
public interface RecordListener {
    public void eventPrePerformed(RecordEvent recordEvent);
    public void eventPerformed(RecordEvent recordEvent);
    public void eventPostPerformed(RecordEvent recordEvent);
}

假设我们的实现类很"粗鲁",只想实现一个方法。作为API设计者,你会怎么做?嗯...

这就是我们使用适配器的地方:

代码语言:java
复制
public abstract class RecordAdapter implements RecordListener {
    public void eventPrePerformed(RecordEvent recordEvent) {}
    public void eventPerformed(RecordEvent recordEvent) {}
    public void eventPostPerformed(RecordEvent recordEvent) {}
}

public MyAdapterImpl extends RecordAdapter {
    public void eventPerformed(RecordEvent recordEvent){}
}

现在唯一要做的就是使用适配器,并重写任何你可能需要的方法:

代码语言:java
复制
public MyClientClass {
    public MyClientClass(){
        this.addRecordListener(new MyAdapterImpl());
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现适配器模式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档