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

This commit is contained in:
2026-05-27 17:06:33 +08:00
parent 41617bd714
commit cdad66331c
5 changed files with 120 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
package com.inmind.duotai08.test2;
/*
笔记本类包含运行功能、关机功能、使用USB设备功能
实现笔记本使用USB鼠标、USB键盘
使用USB鼠标、USB键盘将一类USB设备可以传递给电脑进行使用其实就是定义一个方法接收USB类型多态
*/
public class Computer {
//运行功能
public void powerOn(){
System.out.println("电脑开机了");
}
//关机功能
public void powerOff(){
System.out.println("电脑关机了");
}
//使用USB设备功能
//具体是什么USB设备笔记本并不关心只要符合USB规格的设备都可以
public void useUsbDevice(Usb usbDevice){//接口的多态Usb usbDevice = new 键盘、鼠标、U盘等USB设备对象(向上转型)
if (usbDevice == null) {
System.out.println("您使用的USB设备不存在");
return;
}
usbDevice.open();
//必须先向下转型
if (usbDevice instanceof KeyBoard) {
KeyBoard keyBoard = (KeyBoard) usbDevice;
keyBoard.knock();
}
if (usbDevice instanceof Mouse) {
Mouse mouse = (Mouse) usbDevice;
mouse.click();
}
}
public void closeUsbDevice(Usb usbDevice) {
usbDevice.close();
}
}