diff --git a/day10/src/com/inmind/duotai_test12/KeyBoard.java b/day10/src/com/inmind/duotai_test12/KeyBoard.java new file mode 100644 index 0000000..4dc89c7 --- /dev/null +++ b/day10/src/com/inmind/duotai_test12/KeyBoard.java @@ -0,0 +1,17 @@ +package com.inmind.duotai_test12; +//键盘类,要实现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("键盘敲击了,敲了java!!!"); + } +} diff --git a/day10/src/com/inmind/duotai_test12/Laplop.java b/day10/src/com/inmind/duotai_test12/Laplop.java new file mode 100644 index 0000000..6f1d977 --- /dev/null +++ b/day10/src/com/inmind/duotai_test12/Laplop.java @@ -0,0 +1,26 @@ +package com.inmind.duotai_test12; +//笔记本类,包含运行功能、关机功能、使用USB设备功能 +public class Laplop { + public void powerOn(){ + System.out.println("笔记本开机"); + } + + public void powerOff(){ + System.out.println("笔记本关机"); + } + + public void useUSB(Usb usbDevice) { + usbDevice.open(); + //加上类型判断,是鼠标就点,是键盘就敲 + if (usbDevice instanceof Mouse) { + Mouse mouse = (Mouse) usbDevice; + mouse.click(); + } + if (usbDevice instanceof KeyBoard) { + KeyBoard keyBoard = (KeyBoard)usbDevice; + keyBoard.knock(); + } + + usbDevice.close(); + } +} diff --git a/day10/src/com/inmind/duotai_test12/Mouse.java b/day10/src/com/inmind/duotai_test12/Mouse.java new file mode 100644 index 0000000..5f94e08 --- /dev/null +++ b/day10/src/com/inmind/duotai_test12/Mouse.java @@ -0,0 +1,17 @@ +package com.inmind.duotai_test12; +//鼠标类,要实现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/duotai_test12/Test12.java b/day10/src/com/inmind/duotai_test12/Test12.java new file mode 100644 index 0000000..2911387 --- /dev/null +++ b/day10/src/com/inmind/duotai_test12/Test12.java @@ -0,0 +1,32 @@ +package com.inmind.duotai_test12; +/* +笔记本电脑 +笔记本电脑(laptop)通常具备使用USB设备的功能。在生产时,笔记本都预留了可以插入USB设备的USB接口,但具体是什么USB设备, +笔记本厂商并不关心,只要符合USB规格的设备都可以。 +定义USB接口,具备最基本的开启功能和关闭功能。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范,实现USB接口, +否则鼠标和键盘的生产出来也无法使用。 + +案例分析 +进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘 +USB接口,包含开启功能、关闭功能 +笔记本类,包含运行功能、关机功能、使用USB设备功能 +鼠标类,要实现USB接口,并具备点击的方法 +键盘类,要实现USB接口,具备敲击的方法 + */ +public class Test12 { + public static void main(String[] args) { + //买一个笔记本 + Laplop laplop = new Laplop(); + //开机 + laplop.powerOn(); + //买一个鼠标和键盘 + Mouse mouse = new Mouse(); + KeyBoard keyBoard = new KeyBoard(); + //让笔记本使用键盘和鼠标 + laplop.useUSB(mouse); + laplop.useUSB(keyBoard); + + //关机 + laplop.powerOff(); + } +} diff --git a/day10/src/com/inmind/duotai_test12/Usb.java b/day10/src/com/inmind/duotai_test12/Usb.java new file mode 100644 index 0000000..c0e9018 --- /dev/null +++ b/day10/src/com/inmind/duotai_test12/Usb.java @@ -0,0 +1,6 @@ +package com.inmind.duotai_test12; +//USB接口,包含开启功能、关闭功能 +public interface Usb { + public abstract void open(); + void close(); +}