适配器模式

  1. 原理阐述:当接口抽象方法多,而实际仅需部分方法时,直接实现接口需重写全部抽象方法,代码冗余且不灵活。适配器设计模式可解决此问题,通过创建适配器类,先对接口抽象方法空实现,让真正使用的实现类继承适配器类,按需重写方法,简化开发。
  2. 步骤说明
    • 编写中间类 :创建 XXXAdapter 类实现对应接口,它是适配器模式的核心桥梁,起到过渡作用。
    • 空实现抽象方法:在适配器类中对接口所有抽象方法空实现,后续实现类无需关注未用到的方法。
    • 继承与重写:让真正的实现类继承适配器类,按需重写需使用的方法,减少代码量,提高开发效率。
    • 修饰适配器类 :将适配器类用 abstract 修饰,避免其他类创建其对象,保证它仅作为抽象父类供实现类继承,符合设计意图。

示例代码

假设存在接口 EventLisener 有多个抽象方法,我们仅需使用其中一个方法。

java 复制代码
// 接口
interface EventLisener {
    void onMouseClick();
    void onMouseMove();
    void onKeyPress();
}

// 适配器类
abstract class EventLisenerAdapter implements EventLisener {
    @Override
    public void onMouseClick() {}
    @Override
    public void onMouseMove() {}
    @Override
    public void onKeyPress() {}
}

// 真正的实现类
class MyEventListener extends EventLisenerAdapter {
    @Override
    public void onMouseClick() {
        System.out.println("鼠标点击事件被处理");
    }
}
``` 
相关推荐
毕设源码-赖学姐30 分钟前
【开题答辩全过程】以 二手交易系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
whltaoin32 分钟前
【Spring Boot 注解解析】Bean 生命周期注解深度解析:@PostConstruct 与 @PreDestroy 面试高频考点 + 实战案例
java·spring boot·面试·bean生命周期
蒲公英源码34 分钟前
教务管理系统源码
java·mysql
刃神太酷啦1 小时前
力扣校招算法通关:双指针技巧全场景拆解 —— 从数组操作到环检测的高效解题范式
java·c语言·数据结构·c++·算法·leetcode·职场和发展
Mos_x1 小时前
计算机组成原理核心知识点梳理
java·后端
墨寒博客栈1 小时前
Linux基础常用命令
java·linux·运维·服务器·前端
回忆是昨天里的海1 小时前
k8s-部署springboot容器化应用
java·容器·kubernetes
INFINI Labs1 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
java·docker·eureka·devops·docker compose·console·easyserach