From 136b3bf3a809c87c53348c5fa88fa695fb5f6794 Mon Sep 17 00:00:00 2001 From: zhuyanshuo <3663541984@qq.com> Date: Mon, 6 Apr 2026 21:40:36 +0800 Subject: [PATCH] =?UTF-8?q?w5=E5=AE=9E=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w5/Computer.java | 10 ++++++++++ w5/Keyboard.java | 11 +++++++++++ w5/Mouse.java | 11 +++++++++++ w5/ShapeTest.java | 14 ++++++++++++++ w5/USB.java | 4 ++++ w5/USBTest.java | 13 +++++++++++++ w5/shape.java | 19 +++++++++++++++++++ 7 files changed, 82 insertions(+) create mode 100644 w5/Computer.java create mode 100644 w5/Keyboard.java create mode 100644 w5/Mouse.java create mode 100644 w5/ShapeTest.java create mode 100644 w5/USB.java create mode 100644 w5/USBTest.java create mode 100644 w5/shape.java diff --git a/w5/Computer.java b/w5/Computer.java new file mode 100644 index 0000000..360924f --- /dev/null +++ b/w5/Computer.java @@ -0,0 +1,10 @@ +// Computer.java +public class Computer { + public void useUSB(USB usbDevice) { + System.out.println("电脑检测到 USB 设备插入。"); + usbDevice.open(); + // 模拟使用过程 + usbDevice.close(); + System.out.println("USB 设备已移除。\n"); + } +} \ No newline at end of file diff --git a/w5/Keyboard.java b/w5/Keyboard.java new file mode 100644 index 0000000..915faa2 --- /dev/null +++ b/w5/Keyboard.java @@ -0,0 +1,11 @@ +public class Keyboard implements USB { + @Override + public void open() { + System.out.println("键盘已开启,准备输入。"); + } + + @Override + public void close() { + System.out.println("键盘已关闭。"); + } +} diff --git a/w5/Mouse.java b/w5/Mouse.java new file mode 100644 index 0000000..e1778a4 --- /dev/null +++ b/w5/Mouse.java @@ -0,0 +1,11 @@ +public class Mouse implements USB { + @Override + public void open() { + System.out.println("鼠标已开启,准备移动。"); + } + + @Override + public void close() { + System.out.println("鼠标已关闭。"); + } +} diff --git a/w5/ShapeTest.java b/w5/ShapeTest.java new file mode 100644 index 0000000..01565b6 --- /dev/null +++ b/w5/ShapeTest.java @@ -0,0 +1,14 @@ +public class ShapeTest{ + // 统一绘制方法 + public static void drawShape(Shape s) { + s.draw(); + } + + public static void main(String[] args) { + Shape circle = new Circle(); + Shape rectangle = new Rectangle(); + + drawShape(circle); // 输出:绘制一个圆形 🟡 + drawShape(rectangle); // 输出:绘制一个矩形 🟦 + } +} \ No newline at end of file diff --git a/w5/USB.java b/w5/USB.java new file mode 100644 index 0000000..6e52e60 --- /dev/null +++ b/w5/USB.java @@ -0,0 +1,4 @@ +public interface USB { + void open(); + void close(); +} diff --git a/w5/USBTest.java b/w5/USBTest.java new file mode 100644 index 0000000..6a93436 --- /dev/null +++ b/w5/USBTest.java @@ -0,0 +1,13 @@ +public class USBTest { + public static void main(String[] args) { + Computer computer = new Computer(); + + // 1. 插入鼠标 + USB mouse = new Mouse(); + computer.useUSB(mouse); + + // 2. 插入键盘 + USB keyboard = new Keyboard(); + computer.useUSB(keyboard); + } +} \ No newline at end of file diff --git a/w5/shape.java b/w5/shape.java new file mode 100644 index 0000000..1a5dce2 --- /dev/null +++ b/w5/shape.java @@ -0,0 +1,19 @@ +abstract class Shape { + public abstract void draw(); +} + +// 2. 圆形类 +class Circle extends Shape { + @Override + public void draw() { + System.out.println("绘制一个圆形 🟡"); + } +} + +// 3. 矩形类 +class Rectangle extends Shape { + @Override + public void draw() { + System.out.println("绘制一个矩形 🟦"); + } +} \ No newline at end of file