笔记本电脑类

题目:笔记本电脑(laptop) 通常具备使用USB设备的功能。在生产时,笔记本都预留了可以插入USB设备的USB接口,但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以。
定义USB接口,具备最基本的开启功能和关闭功能。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范,实现USB接口,否则鼠标和键盘的生产出来也无法使用。
描述笔记本类,实现笔记本使用USB鼠标,USB键盘。

  • 解题思路:进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘
  1. USB接口,包含开启功能、关闭功能
  2. 笔记本类,包含运行功能、关机功能、使用USB设备功能
  3. 鼠标类,要实现USB接口,并具备点击的方法
  4. 键盘类,要实现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();
    }
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值