目录

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接口程序设计】相关推荐

  1. 【java养成】:案例(模拟银行新用户现金业务办理、USB接口程序设计、身份证校验位和身份提取)

    案例1:模拟银行新用户现金业务办理 实验内容: 1)   银行新用户开户 2)   欢迎用户光临和欢迎用户下次光临 3)   存钱 4)   取钱 案例代码: Bank类: package cn.Ba ...

  2. Linux USB驱动程序设计

    Linux USB驱动程序设计 1. USB发展史 USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯. USB是在1994年底 ...

  3. GPIO口,232串口,USB接口,485接口等接口保护电路

    系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 一.GP ...

  4. Windows下usb接口驱动技术(二)

    八.        Windows驱动程序模型 Windows环境下驱动程序共有三类,一类是VxD( Virtual Device Driver,虚拟设备驱动程序),起源于Windows 3.1 时代 ...

  5. 微型计算机usb接口工作方式,大学计算机——计算思维之路-中国大学mooc-题库零氪...

    第一讲计算文化 计算机安全随堂测验 1.计算机病毒是[ ]. A.机器故障 B.一段程序代码 C.生物病毒 D.传染病 2.计算机安全主要包括[ ]. A.CPU安全和内存安全 B.操作系统安全和数据 ...

  6. 华为充电器接口叫什么_插座USB接口跟手机充电器有什么不同_电工百科

    一般来说,充电我们都使用手机本身自带的充电器和充电线,为手机充电,这种官方的充电器和充电线本身就是安全的和合规.现在有一些插座,也会提供一个或者几个USB接口,一共手机平板等电子设备进行电量的补充,那 ...

  7. 模拟usb重新插拔_Android 10带来黑科技 检测手机USB接口是否有液体或者是否过热...

    谷歌昨天正式发布Android 10手机操作系统,同时谷歌全系列三代Pixel智能手机均可升级到Android 10正式版,而参与Android beta测试项目的智能手机厂商也同时为旗下部分智能手机 ...

  8. USB接口供电蓝牙彩色灯带控制器

    简 介: 对于购买到的一款USB供电.蓝牙控制的灯带进行初步测试.很遗憾,本来很感兴趣它其中带有蓝牙接口的控制芯片,却因为电路板上的芯片信息缺失无法得知.这款灯带控制方案中属于比较简单的一种:所有的R ...

  9. 脚踏板USB接口与无线遥控连接方案论证

    ▌01 无线遥控 1.简介 无线遥控比较方便通过按键控制一些开关量. ▲ 无线遥控与无线接受 上面的模块的接受时基J04U模块,如下是网络上相关的一些介绍文章链接: 15/433 超再生无线接收模块 ...

最新文章

  1. oracle 性别默认是男_被实名举报“制造性别对立”的杨笠,到底冤不冤?
  2. c语言30人成绩平均分,用C语言编程平均分数
  3. java 线程交替输出,[java]java经典问题之线程交替打印数字
  4. el表达式与jstl的用法
  5. mysql 扩展存储过程_MySQL4:存储过程和函数
  6. 王融(1979-),女,中国信息通信研究院互联网法律中心副主任、高级工程师...
  7. javascript实现代码高亮
  8. this指向_前端面试之彻底搞懂this指向
  9. HDU 5919 分块做法
  10. 考古甜瓜子_数字考古与开源
  11. 无法连接iphone软件更新服务器_上海腾科教育今日分享——提示“无法连接到服务器”的解决办法...
  12. (基础篇)PHP获取时间、时间戳的各种格式写法汇总
  13. jsp中写隐藏td标签_28. Django 2.1.7 模板语言 变量、标签、过滤器、自定义过滤器、模板注释...
  14. Nexus下载、安装与使用
  15. 饭客网络(基础教程)
  16. 我的世界虚无2可直连服务器IP,我的世界虚无世界服务器1.7.10
  17. C# 中通过CancellationTokenSource实现对超时任务的取消
  18. 同居关系解除后,财产如何分割
  19. 电脑重启后 虚拟机不见了?
  20. Matlab pdepd函数偏微分方程的求解问题

热门文章

  1. DDR3及DDR4的传输带宽
  2. MySQL 三个排序方法 row_number()、rank()、dense_rank()
  3. 学生签到系统c代码_学生考勤系统源代码
  4. 安装linux系统提示acpi,安装Linux系统时的ACPI和APIC问题
  5. 拥有这十种气质的女孩更有男人缘
  6. 如何给电脑重装系统--一点通
  7. 2018上海区块链国际周倒计时,汇聚全球意见领袖的技术盛会
  8. 配置activiti控制台打印SQL
  9. 【必须知道的职场情商训练7法】
  10. k-9 邮箱添加 qq、163、gmail 帐号