day10--接口与多态的笔记本案例

This commit is contained in:
xx
2026-10-09 11:42:52 +08:00
parent 645b5b5ab2
commit c073c1394d
5 changed files with 118 additions and 0 deletions
@@ -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("敲击键盘,输入了内容");
}
}
@@ -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();
}
}
@@ -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("鼠标选中了文件夹,双击打开");
}
}
@@ -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();
}
}
@@ -0,0 +1,9 @@
package com.inmind.poly_test11;
/*
USB接口,包含开启功能、关闭功能
*/
public interface Usb {
//Usb起码有打开和关闭设备的功能规范
void open();
void close();
}