(接口可插拔思想)在“笔记本电脑类”中有一个InsertDrawable接口属性,可以让笔记本 电脑可插拔鼠标、键盘、显示器、打印机等。

简介: 编写Java程序 (接口可插拔思想)在“笔记本电脑类”中有一个InsertDrawable接口属性,可以让笔记本 电脑可插拔鼠标、键盘、显示器、打印机等。

编写Java程序


设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。

设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。

设计一个鼠标类,实现InsertDrawable接口,并实现方法

设计一个键盘类,实现InsertDrawable接口,并实现方法。

设计一个显示器类,实现InsertDrawable接口,并实现方法

设计一个打印机类,实现InsertDrawable接口,并实现方法。

在“笔记本电脑类”中有一个InsertDrawable接口属性,可以让笔记本

电脑可插拔鼠标、键盘、显示器、打印机等


//可插拔接口
interface InsertDrawable{
    //抽象方法
    void dosome();
}
public class Notebook {
  //实例化属性
    //笔记本电脑得有可插拔的接口才能进行插拔外部的硬件
   private InsertDrawable insertDrawable;
    public Notebook() {
    }
    public Notebook(InsertDrawable insertDrawable) {
        this.insertDrawable = insertDrawable;
    }
    public InsertDrawable getInsertDrawable() {
        return insertDrawable;
    }
    public void setInsertDrawable(InsertDrawable insertDrawable) {
        this.insertDrawable = insertDrawable;
    }
    public void insert(){
        insertDrawable.dosome();
    }
}


鼠标类实现接口插拔:


public class Mouse  implements InsertDrawable{
    public void dosome() {
        System.out.println("鼠标插上了!");
    }
}


键盘类实现接口插拔:


//键盘类
public class Keyboard implements InsertDrawable {
//重写抽象方法
    public void dosome() {
        System.out.println("键盘插上了!!");
    }
}


打印机类实现接口插拔:


public class Dayin implements  InsertDrawable {
    public void dosome() {
        System.out.println("打印机擦划伤了!!");
    }
}


显示器类实现接口插拔:


public class Xianshi implements InsertDrawable {
    public void dosome() {
        System.out.println("显示器缠上了!!!");
    }
}


测试类:


public class Text{
    public static void main(String[] args) {
        //可插拔接口实例化鼠标对象
        InsertDrawable insertDrawable1=new Mouse();
        //笔记本电脑进行插拔鼠标
        Notebook notebook1=new Notebook(insertDrawable1);
        notebook1.insert();
        InsertDrawable insertDrawable2=new Keyboard();//键盘
        Notebook notebook2=new Notebook(insertDrawable2);
        notebook2.insert();
        InsertDrawable insertDrawable3=new Xianshi();//显示器
        Notebook notebook3=new Notebook(insertDrawable3);
        notebook3.insert();
        InsertDrawable insertDrawable4=new Dayin();//打印机
        Notebook notebook4=new Notebook(insertDrawable4);
        notebook4.insert();
    }
}


相关文章
|
传感器 编解码 监控
微型打印机控制电路的设计(1)
微型打印机控制电路的设计(1)
413 0
微型打印机控制电路的设计(1)
|
调度
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
702 0
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
|
5月前
|
网络安全 网络架构
入门:树莓派装系统、亮机,无需外接显示器键盘鼠标(保姆级教程)
入门:树莓派装系统、亮机,无需外接显示器键盘鼠标(保姆级教程)
129 3
|
6月前
|
网络协议 Go 网络安全
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
108 2
|
6月前
|
编解码 芯片
嵌入式中常见的显示屏接口有哪些?
嵌入式中常见的显示屏接口有哪些?
182 0
|
6月前
|
存储 芯片
键盘驱动程序设计
键盘驱动程序设计
106 0
|
芯片
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
125 0
微型打印机控制电路的设计(2)
|
Windows
【电脑控制手机屏幕】windows11、10自带投屏功能,三步解决
想用电脑控制手机,但是下载第三方软件好麻烦,只需三步骤即可使用windows系统自带投屏插件实现投屏功能
1369 0
|
Java Android开发
接入物理键盘时, 默认弹出软件键盘
接入物理键盘时, 默认弹出软件键盘
244 0
|
Windows
模拟鼠标键盘操作(硬件模拟)
3.驱动级模拟(硬件模拟)  如果上面的方法你都试过了,可是你发现目标程序却仍然顽固的不接受你模拟的消息,寒~~~~~~~~~还好,我还剩下最后一招,这就是驱动级模拟:直接读写键盘的硬件端口!  有一些使用DirectX接口的游戏程序,它们在读取键盘操作时绕过了windows的消息机制,而使用DirectInput.这是因为有些游戏对实时性控制的要求比较高,比如赛车游戏,要求以最快速度响应键盘输入。
4250 0