Java 实战:用适配器模式实现玩具警车声音与灯光控制
以下是为您完善和修正后的代码,并添加了必要的注释,希望能帮助到您: ```java // 汽车控制类,充当目标抽象类 public abstract class CarController { public void move() { System.out.println("玩具汽车移动!"); } public abstract void phonate(); // 发出声音 public abstract void twinkle(); // 灯光闪烁 } // 警车类,充当适配者 public class Police { public void alarmLamp() { System.out.println("呈现警灯闪烁!"); } public void alarmSound() { System.out.println("发出警笛声音!"); } } // 警车适配器,充当适配器 public class PoliceCarAdapter extends CarController { private Police po; // 构造函数,初始化适配者对象 public PoliceCarAdapter(Police po) { this.po = po; } @Override public void phonate() { po.alarmSound(); } @Override public void twinkle() { po.alarmLamp(); } } public class Main { public static void main(String[] args) { // 创建警车对象 Police police = new Police(); // 创建警车适配器对象 PoliceCarAdapter adapter = new PoliceCarAdapter(police); adapter.move(); adapter.phonate(); adapter.twinkle(); } } ``` 在上述代码中,通过适配器模式,将`Police`类的方法适配到`CarController`抽象类定义的方法中,实现了不同接口之间的适配。 ######[AI写代码神器 | 372点数解答 | 2024-10-28 17:23:14]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)405
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)305
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1134
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)317
- C51 编程:外部中断 0 边沿触发控制 P2 口 8 个 LED 依次点亮(字节豆包 | 41点数解答 | 2025-06-22 11:25:54)150
- 8051 单片机:用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮(附代码与详解) (字节豆包 | 538点数解答 | 2025-06-22 11:26:15)126
- C51实现外部中断0边沿触发,让P2口8个LED依次点亮的程序详解(DeepSeek | 400点数解答 | 2025-06-22 21:21:28)107
- C51 程序:利用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮及代码分析(DeepSeek | 228点数解答 | 2025-06-22 23:18:42)159
- Java 继承实现:重温经典剪刀石头布游戏(字节豆包 | 451点数解答 | 2024-10-20 19:57:58)463
- Java实现日期递增:无数据返20250901,遇20250901返20250902及开发注意要点 (DeepSeek | 242点数解答 | 2025-09-02 11:39:53)82