(接口可插拔思想)在“笔记本电脑类”中有一个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)
292 0
微型打印机控制电路的设计(1)
|
4天前
|
网络协议 Go 网络安全
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
28 2
|
4天前
|
编解码 芯片
嵌入式中常见的显示屏接口有哪些?
嵌入式中常见的显示屏接口有哪些?
32 0
|
4天前
|
存储 芯片
键盘驱动程序设计
键盘驱动程序设计
46 0
|
9月前
|
芯片
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
|
11月前
|
Windows
【电脑控制手机屏幕】windows11、10自带投屏功能,三步解决
想用电脑控制手机,但是下载第三方软件好麻烦,只需三步骤即可使用windows系统自带投屏插件实现投屏功能
1066 0
|
Java Android开发
接入物理键盘时, 默认弹出软件键盘
接入物理键盘时, 默认弹出软件键盘
208 0
单片机:独立按键---硬件介绍和软件编程
单片机:独立按键---硬件介绍和软件编程
154 0
单片机:独立按键---硬件介绍和软件编程
【老卫搞机】090期:键盘?主机?全功能键盘主机!
【老卫搞机】090期:键盘?主机?全功能键盘主机!
479 0