题目:笔记本电脑(laptop) 通常具备使用USB设备的功能。在生产时,笔记本都预留了可以插入USB设备的USB接口,但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以。
定义USB接口,具备最基本的开启功能和关闭功能。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范,实现USB接口,否则鼠标和键盘的生产出来也无法使用。
描述笔记本类,实现笔记本使用USB鼠标,USB键盘。
- 解题思路:进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘
- USB接口,包含开启功能、关闭功能
- 笔记本类,包含运行功能、关机功能、使用USB设备功能
- 鼠标类,要实现USB接口,并具备点击的方法
- 键盘类,要实现USB接口,具备敲击的方法
代码如下:
// USB接口
interface Usb {
void open();
void close();
}
// 笔记本类
class Laptop {
private boolean on = false;
Laptop() {
}
void open() {
this.on = true;
System.out.println("笔记本已打开");
}
void putOff() {
this.on = true;
System.out.println("笔记本已关闭");
}
void useUSB(Usb usb) {
if (on && usb != null) {
if (usb instanceof Mouse) {
((Mouse) usb).click();
}
else if(usb instanceof Keyboard){
((Keyboard)usb).knovkOn();
}
}
}
}
class Mouse implements Usb { // 鼠标类
Mouse() {
}
public void open() {
System.out.println("鼠标已打开");
}
public void close() {
System.out.println("鼠标已关闭");
}
public void click() {
System.out.println("鼠标点击!");
}
}
class Keyboard implements Usb{ // 键盘类
Keyboard() {
}
public void open() {
System.out.println("键盘已打开");
}
public void close() {
System.out.println("键盘已关闭");
}
public void knovkOn(){
System.out.println("键盘敲击!");
}
}
public class ComputerTest {
public static void main(String[] args) {
Laptop computer1 = new Laptop();
Mouse mouse1 = new Mouse();
Keyboard keyboard1 = new Keyboard();
computer1.open();
mouse1.open();
computer1.useUSB(mouse1);
mouse1.close();
keyboard1.open();
computer1.useUSB(keyboard1);
keyboard1.close();
computer1.putOff();
}
}
运行结果: