笔记本电脑案例

一、案例介绍

       定义USB接口(具备开启功能、关闭功能),笔记本要使用USB设备,即笔记本在生产时需要预留可以插入USB设备的USB接口,即就是笔记本具备使用USB设备的功能,但具体是什么USB设备,笔记本并不关心,只要符合USB规格的设备都可以。鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守USB规范,不然鼠标和键盘的生产出来无法使用

进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘

1. USB接口,包含开启功能、关闭功能

2. 笔记本类,包含运行功能、关机功能、使用USB设备功能

3. 鼠标类,要符合USB接口

4. 键盘类,要符合USB接口

二、案例需求分析

阶段一:

使用笔记本,笔记本有运行功能,需要笔记本对象来运行这个功能

阶段二:

想使用一个鼠标,又有一个功能使用鼠标,并多了一个鼠标对象。

阶段三:

还想使用一个键盘 ,又要多一个功能和一个对象

问题:每多一个功能就需要在笔记本对象中定义一个方法,不爽,程序扩展性极差。

降低鼠标、键盘等外围设备和笔记本电脑的耦合性。

 

三、实现代码步骤

1. 定义鼠标、键盘,笔记本三者之间应该遵守的规则

interface USB {

    void open();// 开启功能

 

    void close();// 关闭功能

}

 

2. 鼠标实现USB规则

class Mouse implements USB {

    public void open() {

        System.out.println("鼠标开启");

    }

 

    public void close() {

        System.out.println("鼠标关闭");

    }

}

 

3. 键盘实现USB规则

class KeyBoard implements USB {

    public void open() {

        System.out.println("键盘开启");

    }

 

    public void close() {

        System.out.println("键盘关闭");

    }

}

 

4. 定义笔记本

class NoteBook {

    // 笔记本开启运行功能

    public void run() {

        System.out.println("笔记本运行");

    }

 

    // 笔记本使用usb设备,这时当笔记本对象调用这个功能时,必须给其传递一个符合USB规则的USB设备

    public void useUSB(USB usb) {

        // 判断是否有USB设备

        if (usb != null) {

            usb.open();

            usb.close();

        }

    }

 

    public void shutDown() {

        System.out.println("笔记本关闭");

    }

}

 

public class Test {

    public static void main(String[] args) {

        // 创建笔记本实体对象

        NoteBook nb = new NoteBook();

       // 笔记本开启

        nb.run();

 

        // 创建鼠标实体对象

        Mouse m = new Mouse();

        // 笔记本使用鼠标

        nb.useUSB(m);

 

       // 创建键盘实体对象

        KeyBoard kb = new KeyBoard();

        // 笔记本使用键盘

        nb.useUSB(kb);

 

        // 笔记本关闭

        nb.shutDown();

    }

}

发布了120 篇原创文章 · 获赞 5 · 访问量 2646

猜你喜欢

转载自blog.csdn.net/weixin_41874888/article/details/104012929