A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 专注的一批 中级黑马   /  2019-12-13 14:44  /  2900 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

USB接口程序设计
1. 任务描述
通常人们使用的计算机上都有USB接口,鼠标、键盘、麦克风等都可以连接到USB接口中使用。在计算机启动时,这些设备也随之启动; 当计算机关闭时,这些设备也会随之关闭。鼠标、键盘、麦克风等USB接口设备都启动后,计算机才开机成功; 当这些USB设备都关闭后,计算机才关机成功。编写一个USB接口程序,模拟描述中的计算机的开机和关机过程。
2. 任务目标
1)学会分析“USB接口程序设计”任务实现的逻辑思路
2)能后独立完成“USB接口程序设计”的源代码编写、编译及运行
3)掌握Java接口的概念和使用
3. 实现思路
1)从任务描述以及程序的运行结果分析可知,次任务中设计到的对象有USB接口、鼠标、键盘、麦克风以及计算机。要实现此程序,就需要对这些对象进行相应的定义。
2)首先,鼠标、键盘、麦克风这些USB设备只有插入到接口中才能够使用,所以需要先定义一个USB接口。由于这些USB设备需要随着计算机的启动而启动,并随着计算机的关闭而关闭,所以需要在接口中定义设备启动和关闭的方法。
3)编写完接口后,接下来就要编写接口的实现类鼠标、键盘、麦克风,在实现类中要实现这些设备的启动和关闭方法。
4)由于这些设备是在计算机中使用的,所以接下来需要编写一个计算机类。计算机中有了USB插槽后,才能插入USB接口,每次插入一个新的设备,计算机都会安装此设备的驱动。驱动安装后,设备才能够正常使用,所以该类中还需要编写一个USB插槽和安装USB设备的方法。同时计算机要想开关机,还要定义开机和关机的方法。
5) 最后编写测试类,实例化计算机对象,并向计算机对象中添加USB设备,运行查看结果。
个人代码如下:
USB
public interface USB {
        void turnOn();
        void turnOff();
}
接口的实现类
public class Mouse implements USB {
        @Override
        public void turnOn() {
                // TODO Auto-generated method stub
                System.out.println("鼠标启动了");
        }
        @Override
        public void turnOff() {
                // TODO Auto-generated method stub
                System.out.println("鼠标关闭了");
        }
       
}
public class KeyBoard implements USB{
        @Override
        public void turnOn() {
                // TODO Auto-generated method stub
                System.out.println("键盘启动了");
        }
        @Override
        public void turnOff() {
                // TODO Auto-generated method stub
                System.out.println("键盘关闭了");
        }
       
}
public class Microphone implements USB{
        @Override
        public void turnOn() {
                // TODO Auto-generated method stub
                System.out.println("麦克风启动了");
        }
        @Override
        public void turnOff() {
                // TODO Auto-generated method stub
                System.out.println("麦克风关闭了");
        }
       
}
计算机类
public class Computer {
        private USB[] usbArr = new USB[4];
       
        public void add(USB usb) {
                for(int i=0;i<usbArr.length;i++) {
                        if(usbArr==null) {
                                usbArr=usb;
                                break;
                        }
                }
        }
       
        public void powerOn() {
                for(int i=0;i<usbArr.length;i++) {
                        if(usbArr!=null) {
                                usbArr.turnOn();
                        }
                }
                System.out.println("电脑开机成功");
        }
       
        public void powerOff() {
                for(int i=0;i<usbArr.length;i++) {
                        if(usbArr!=null) {
                                usbArr.turnOff();
                        }
                }
                System.out.println("电脑关机成功");
        }
       
}
测试类
public class Test {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Computer p = new Computer();
                p.add(new Mouse());
                p.add(new KeyBoard());
function(){ //外汇返佣 http://www.fx61.com/
                p.add(new Microphone());
                p.powerOn();
                System.out.println("-----------------");
                p.powerOff();
        }
}
控制台输出结果
鼠标启动了
键盘启动了
麦克风启动了
电脑开机成功
-----------------
鼠标关闭了
键盘关闭了
麦克风关闭了
电脑关机成功

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马