(接口可插拔思想)在“笔记本电脑类”中有一个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();
    }
}


相关文章
|
6月前
|
存储 程序员 芯片
解密键盘输入:探索设备控制器的奥秘
通过对键盘输入的处理过程和设备控制器的作用的了解,我们可以更好地理解操作系统如何与键盘设备进行交互,并正确处理键盘输入。同时,了解设备控制器的作用可以帮助我们更好地理解操作系统与外设硬件之间的通信和控制过程。
解密键盘输入:探索设备控制器的奥秘
|
9月前
|
传感器 编解码 监控
微型打印机控制电路的设计(1)
微型打印机控制电路的设计(1)
286 0
微型打印机控制电路的设计(1)
|
1月前
|
网络协议 Go 网络安全
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
27 2
|
4月前
|
存储 芯片
键盘驱动程序设计
键盘驱动程序设计
44 0
|
9月前
|
芯片
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
|
11月前
|
Windows
【电脑控制手机屏幕】windows11、10自带投屏功能,三步解决
想用电脑控制手机,但是下载第三方软件好麻烦,只需三步骤即可使用windows系统自带投屏插件实现投屏功能
1064 0
【老卫搞机】090期:键盘?主机?全功能键盘主机!
【老卫搞机】090期:键盘?主机?全功能键盘主机!
476 0
如何利用vga接口的显示器做笔记本的副屏
如何利用vga接口的显示器做笔记本的副屏
如何利用vga接口的显示器做笔记本的副屏
|
Windows
模拟鼠标键盘操作(硬件模拟)
3.驱动级模拟(硬件模拟)  如果上面的方法你都试过了,可是你发现目标程序却仍然顽固的不接受你模拟的消息,寒~~~~~~~~~还好,我还剩下最后一招,这就是驱动级模拟:直接读写键盘的硬件端口!  有一些使用DirectX接口的游戏程序,它们在读取键盘操作时绕过了windows的消息机制,而使用DirectInput.这是因为有些游戏对实时性控制的要求比较高,比如赛车游戏,要求以最快速度响应键盘输入。
4053 0
|
C# 开发工具 C++
惠普打印机、扫描仪二次开发、支持状态获取
惠普打印机、扫描仪二次开发、支持状态获取
691 0
惠普打印机、扫描仪二次开发、支持状态获取