【USB接口程序设计】
目录
USB接口程序设计
任务描述
运行结果
任务目标
实现思路
代码实现
USB接口程序设计
任务描述
通常人们使用的计算机上都有USB接口,鼠标,键盘,麦克风等都可以连接到USB接口中使用。在计算机启动时,这些设备也随之启动;当计算机关闭时,这些设备也会随之关闭。鼠标,键盘,麦克风等USB接口设备都启动后,计算机才开机成功;当这些USB接口都关闭后,计算机才关机成功。编写一个USB接口程序,模拟描述中的计算机的开机关机过程。
运行结果
任务目标
学会分析"USB接口程序设计"任务实现的逻辑思路。
能够独立完成"USB接口程序设计"的源代码编写,编译及运行。
掌握Java接口的概念和使用。
实现思路
①从任务描述以及程序的运行结果分析,此任务涉及到的对象有USB接口,鼠标,键盘,麦克风及计算机。
②首先,鼠标,键盘,麦克风这些USB接口只有插入到接口中才能使用,所以需要先定义一个USB接口。由于这些USB接口设备需要随着计算机的启动而启动,并随着计算机的关闭而关闭,所以需要在接口中定义设备启动和停止的方法。、
③编写完接口后,接下来需要编写接口的实现类鼠标,键盘,麦克风,在这些类中要实现这些设备的启动和关闭方法。
④由于这些设备是在计算机中使用的,所以需要编写一个计算机类,计算机有了USB插槽之后,才能插入USB接口,每次插入一个新的设备,计算机都会安装此设备的驱动。驱动安装后,设备才能正常使用,所以这个类还需要编写一个USB插槽和安装USB设备的方法。同时计算机想要开机,还需要定义开机和关机的方法。
⑤编写测试类,实例化计算机对象,并向计算机中添加USB设备,运行查看结果。
代码实现
1,定义一个USB接口
package JiCheng;public interface USB {void turnOn();//启动void turnOff();//关闭}
2,编写鼠标,键盘和麦克风类,作为USB接口的实现类,分别对turnOn()和turnOff()方法进行实现。
(1)鼠标类的实现代码
package JiCheng;public class MouseImpl implements USB{@Overridepublic void turnOn() {System.out.println("鼠标启动了");}@Overridepublic void turnOff() {System.out.println("鼠标关闭了");}}
(2)键盘类的实现代码
package JiCheng;public class KeyBoardImpl implements USB{@Overridepublic void turnOn() {System.out.println("键盘启动了");}@Overridepublic void turnOff() {System.out.println("键盘关闭了");}}
(3)麦克风类的实现代码
package JiCheng;public class MicImpl implements USB{@Overridepublic void turnOn() {System.out.println("麦克风启动了");}@Overridepublic void turnOff() {System.out.println("麦克风关闭了");}}
3,编写计算机类,具体实现代码
package JiCheng;public class Computer {//计算机上的USB插槽private USB[] usbArr=new USB[4];//向计算机连接一个USB设备public void add(USB usb){for(int i=0;i< usbArr.length;i++){//如果发现一个空的if(usbArr[i]==null){//将usb连接到这个插槽上usbArr[i]=usb;break;}}}//计算机的开机功能public void powerOn(){//循环遍历所有插槽for(int i=0;i< usbArr.length;i++){//如果发现有设备if(usbArr[i] != null){//将USB设备启动usbArr[i].turnOn();}}System.out.println("计算机开机成功");}//计算机的关机功能public void powerOff(){for(int i=0;i< usbArr.length;i++) {if (usbArr[i] != null) {usbArr[i].turnOff();}}System.out.println("计算机关机成功");}}
4,编写测试类,实现代码
package JiCheng;public class Test {public static void main(String[] args) {//实例化计算机对象Computer c=new Computer();//向计算机中添加鼠标,麦克风,键盘设备c.add(new MouseImpl());c.add(new MicImpl());c.add(new KeyBoardImpl());//启动计算机c.powerOn();System.out.println();//关闭计算机c.powerOff();}}
⛵总结
通过对我们电脑的接口设计方法进行了分析,可以直到我们的电脑的键盘,鼠标,麦克风等接口类是如何实现启动和关闭的,可以让我们更加的了解和掌握Java接口的概念和使用。
如果这篇【文章】有帮助到你,希望可以点个赞
【USB接口程序设计】相关推荐
- 【java养成】:案例(模拟银行新用户现金业务办理、USB接口程序设计、身份证校验位和身份提取)
案例1:模拟银行新用户现金业务办理 实验内容: 1) 银行新用户开户 2) 欢迎用户光临和欢迎用户下次光临 3) 存钱 4) 取钱 案例代码: Bank类: package cn.Ba ...
- Linux USB驱动程序设计
Linux USB驱动程序设计 1. USB发展史 USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯. USB是在1994年底 ...
- GPIO口,232串口,USB接口,485接口等接口保护电路
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 一.GP ...
- Windows下usb接口驱动技术(二)
八. Windows驱动程序模型 Windows环境下驱动程序共有三类,一类是VxD( Virtual Device Driver,虚拟设备驱动程序),起源于Windows 3.1 时代 ...
- 微型计算机usb接口工作方式,大学计算机——计算思维之路-中国大学mooc-题库零氪...
第一讲计算文化 计算机安全随堂测验 1.计算机病毒是[ ]. A.机器故障 B.一段程序代码 C.生物病毒 D.传染病 2.计算机安全主要包括[ ]. A.CPU安全和内存安全 B.操作系统安全和数据 ...
- 华为充电器接口叫什么_插座USB接口跟手机充电器有什么不同_电工百科
一般来说,充电我们都使用手机本身自带的充电器和充电线,为手机充电,这种官方的充电器和充电线本身就是安全的和合规.现在有一些插座,也会提供一个或者几个USB接口,一共手机平板等电子设备进行电量的补充,那 ...
- 模拟usb重新插拔_Android 10带来黑科技 检测手机USB接口是否有液体或者是否过热...
谷歌昨天正式发布Android 10手机操作系统,同时谷歌全系列三代Pixel智能手机均可升级到Android 10正式版,而参与Android beta测试项目的智能手机厂商也同时为旗下部分智能手机 ...
- USB接口供电蓝牙彩色灯带控制器
简 介: 对于购买到的一款USB供电.蓝牙控制的灯带进行初步测试.很遗憾,本来很感兴趣它其中带有蓝牙接口的控制芯片,却因为电路板上的芯片信息缺失无法得知.这款灯带控制方案中属于比较简单的一种:所有的R ...
- 脚踏板USB接口与无线遥控连接方案论证
▌01 无线遥控 1.简介 无线遥控比较方便通过按键控制一些开关量. ▲ 无线遥控与无线接受 上面的模块的接受时基J04U模块,如下是网络上相关的一些介绍文章链接: 15/433 超再生无线接收模块 ...
最新文章
- oracle 性别默认是男_被实名举报“制造性别对立”的杨笠,到底冤不冤?
- c语言30人成绩平均分,用C语言编程平均分数
- java 线程交替输出,[java]java经典问题之线程交替打印数字
- el表达式与jstl的用法
- mysql 扩展存储过程_MySQL4:存储过程和函数
- 王融(1979-),女,中国信息通信研究院互联网法律中心副主任、高级工程师...
- javascript实现代码高亮
- this指向_前端面试之彻底搞懂this指向
- HDU 5919 分块做法
- 考古甜瓜子_数字考古与开源
- 无法连接iphone软件更新服务器_上海腾科教育今日分享——提示“无法连接到服务器”的解决办法...
- (基础篇)PHP获取时间、时间戳的各种格式写法汇总
- jsp中写隐藏td标签_28. Django 2.1.7 模板语言 变量、标签、过滤器、自定义过滤器、模板注释...
- Nexus下载、安装与使用
- 饭客网络(基础教程)
- 我的世界虚无2可直连服务器IP,我的世界虚无世界服务器1.7.10
- C# 中通过CancellationTokenSource实现对超时任务的取消
- 同居关系解除后,财产如何分割
- 电脑重启后 虚拟机不见了?
- Matlab pdepd函数偏微分方程的求解问题