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

2022-12-01 11:42:59 浏览数 (1)

编写Java程序

设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。 设计一个鼠标类,实现InsertDrawable接口,并实现方法 设计一个键盘类,实现InsertDrawable接口,并实现方法。 设计一个显示器类,实现InsertDrawable接口,并实现方法 设计一个打印机类,实现InsertDrawable接口,并实现方法。 在“笔记本电脑类”中有一个InsertDrawable接口属性,可以让笔记本 电脑可插拔鼠标、键盘、显示器、打印机等

代码语言:javascript复制
//可插拔接口
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();
    }
    
}

鼠标类实现接口插拔:

代码语言:javascript复制
public class Mouse  implements InsertDrawable{

    public void dosome() {

        System.out.println("鼠标插上了!");
    }
}

键盘类实现接口插拔:

代码语言:javascript复制
//键盘类
public class Keyboard implements InsertDrawable {
//重写抽象方法
    public void dosome() {
        System.out.println("键盘插上了!!");
    }
}

打印机类实现接口插拔:

代码语言:javascript复制
public class Dayin implements  InsertDrawable {

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

显示器类实现接口插拔:

代码语言:javascript复制
public class Xianshi implements InsertDrawable {

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

测试类:

代码语言:javascript复制
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();
    }
}

0 人点赞