From c073c1394d0c9db5fb2bc25a5a91ecba52fd2fce Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Fri, 9 Oct 2026 11:42:52 +0800 Subject: [PATCH] =?UTF-8?q?day10--=E6=8E=A5=E5=8F=A3=E4=B8=8E=E5=A4=9A?= =?UTF-8?q?=E6=80=81=E7=9A=84=E7=AC=94=E8=AE=B0=E6=9C=AC=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/poly_test11/Keyboard.java | 18 ++++++++ day10/src/com/inmind/poly_test11/Laptop.java | 41 +++++++++++++++++++ day10/src/com/inmind/poly_test11/Mouse.java | 17 ++++++++ day10/src/com/inmind/poly_test11/Test12.java | 33 +++++++++++++++ day10/src/com/inmind/poly_test11/Usb.java | 9 ++++ 5 files changed, 118 insertions(+) create mode 100644 day10/src/com/inmind/poly_test11/Keyboard.java create mode 100644 day10/src/com/inmind/poly_test11/Laptop.java create mode 100644 day10/src/com/inmind/poly_test11/Mouse.java create mode 100644 day10/src/com/inmind/poly_test11/Test12.java create mode 100644 day10/src/com/inmind/poly_test11/Usb.java diff --git a/day10/src/com/inmind/poly_test11/Keyboard.java b/day10/src/com/inmind/poly_test11/Keyboard.java new file mode 100644 index 0000000..0927f3f --- /dev/null +++ b/day10/src/com/inmind/poly_test11/Keyboard.java @@ -0,0 +1,18 @@ +package com.inmind.poly_test11; +//键盘类,要实现USB接口,具备敲击的方法 +public class Keyboard implements Usb{ + @Override + public void open() { + System.out.println("键盘启动了"); + } + + @Override + public void close() { + System.out.println("键盘关闭了"); + } + + //具备敲击的方法(独有的功能) + public void knock(){ + System.out.println("敲击键盘,输入了内容"); + } +} diff --git a/day10/src/com/inmind/poly_test11/Laptop.java b/day10/src/com/inmind/poly_test11/Laptop.java new file mode 100644 index 0000000..8b2d157 --- /dev/null +++ b/day10/src/com/inmind/poly_test11/Laptop.java @@ -0,0 +1,41 @@ +package com.inmind.poly_test11; +//笔记本类,包含运行功能、关机功能、使用USB设备功能 +public class Laptop { + + //运行功能、关机功能 + public void powerOn(){ + System.out.println("笔记本开机了"); + }; + + public void powerOff(){ + System.out.println("笔记本关机了"); + }; + /*//使用鼠标 + public void useMouse(Mouse mouse){}; + //使用键盘 + public void useKeyboard(Keyboard board){};*/ + + //电脑出厂的时候其实不应该知道,以后连接的设备有哪些的,我只预留可以使用usb设备的功能方法 + //使用USB设备功能 + public void useUsb(Usb usbDevice){//接口的多态!!! + usbDevice.open(); + //usb设备插上后,要调用独有的功能 + /*//编译看左边,只能向下转型,转为具体的设备再调用具体的独有功能 + usbDevice.click(); + usbDevice.knock();*/ + if (usbDevice instanceof Keyboard) { + Keyboard keyboard = (Keyboard) usbDevice; + keyboard.knock(); + } + + if (usbDevice instanceof Mouse) { + Mouse mouse = (Mouse) usbDevice; + mouse.click(); + } + } + + + public void closeUsb(Usb usbDevice){ + usbDevice.close(); + } +} diff --git a/day10/src/com/inmind/poly_test11/Mouse.java b/day10/src/com/inmind/poly_test11/Mouse.java new file mode 100644 index 0000000..f274809 --- /dev/null +++ b/day10/src/com/inmind/poly_test11/Mouse.java @@ -0,0 +1,17 @@ +package com.inmind.poly_test11; +//鼠标类,要实现USB接口,并具备点击的方法 +public class Mouse implements Usb{ + @Override + public void open() { + System.out.println("鼠标启动了"); + } + + @Override + public void close() { + System.out.println("鼠标关闭了"); + } + //具备点击的方法(独有方法) + public void click(){ + System.out.println("鼠标选中了文件夹,双击打开"); + } +} diff --git a/day10/src/com/inmind/poly_test11/Test12.java b/day10/src/com/inmind/poly_test11/Test12.java new file mode 100644 index 0000000..f1a1e4f --- /dev/null +++ b/day10/src/com/inmind/poly_test11/Test12.java @@ -0,0 +1,33 @@ +package com.inmind.poly_test11; +/* +3.1 笔记本电脑 +笔记本电脑(laptop)通常具备使用USB设备的功能。在生产时,笔记本都预留了可以插入USB设备的USB接口, +但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以。 +定义USB接口,具备最基本的开启功能和关闭功能。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范, +实现USB接口,否则鼠标和键盘的生产出来也无法使用。 + +3.2 案例分析 +进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘 +USB接口,包含开启功能、关闭功能 +笔记本类,包含运行功能、关机功能、使用USB设备功能 +鼠标类,要实现USB接口,并具备点击的方法 +键盘类,要实现USB接口,具备敲击的方法 + */ +public class Test12 { + public static void main(String[] args) { + //1.买一台电脑 + Laptop laptop = new Laptop(); + //2.买一个鼠标和键盘 + Mouse mouse = new Mouse(); + Keyboard keyboard = new Keyboard(); + //3.打开电脑,插上鼠标和键盘,进行使用 + laptop.powerOn(); + laptop.useUsb(mouse);//接口的多态 + laptop.useUsb(keyboard);//接口的多态 + + //4.电脑关机 + laptop.closeUsb(mouse); + laptop.closeUsb(keyboard); + laptop.powerOff(); + } +} diff --git a/day10/src/com/inmind/poly_test11/Usb.java b/day10/src/com/inmind/poly_test11/Usb.java new file mode 100644 index 0000000..6a4d976 --- /dev/null +++ b/day10/src/com/inmind/poly_test11/Usb.java @@ -0,0 +1,9 @@ +package com.inmind.poly_test11; +/* +USB接口,包含开启功能、关闭功能 + */ +public interface Usb { + //Usb起码有打开和关闭设备的功能规范 + void open(); + void close(); +}