Java语言USB接口程序设计
程序员文章站
2022-03-05 15:39:06
...
任务
通常人们使用的计算机上都有USB接口,鼠标、键盘、麦克风等都可以连接到USB接口中使用。在计算机启动时,这些设备也随之启动;当计算机关闭时,这些设备也会随之关闭。鼠标、键盘、麦克风等USB接口设备都启动后,计算机才开机成功;当这些USB设备都关闭后,计算机才关机成功。编写一个USB接口程序,模拟描述中的计算机的开机和关机过程。
实现思路
(1)分析任务描述可知,此任务中涉及到的对象有USB接口、鼠标、键盘、麦克风以及计算机。要实现此程序,就需要对这些对象进行相应的编写。
(2)首先,鼠标、键盘、麦克风这些USB设备只有插入到接口中才能够使用,所以需要先定义一个USB接口。由于这些USB设备需要随着计算机的启动而启动,并随着计算机的关闭而关闭,所以需要在接口中定义设备启动和停止的方法。
(3)编写完接口后,接下来就要编写接口的实现类鼠标、键盘和麦克风,在实现类中要实现这些设备的启动和关闭方法。
(4)由于这些设备是在计算机中使用的,所以接下来需要编写一个计算机类。计算机中有了USB插槽后,才能插入USB接口,每次插入一个新的设备,计算机都会安装此设备的驱动。驱动安装后,设备才能够正常使用,所以该类中还需要编写一个USB插槽和安装USB设备的方法。同时计算机要想开关机,还要定义开机和关机的方法。
(5)最后编写测试类,实例化计算机对象,并向计算机对象中添加USB设备,运行查看结果。
代码实现
Computer.java
package ch;
//计算机
public class Computer {
//计算机 上USB的插槽
private USB[] u = new USB[5];
//向计算机上连接一个USB设备
public void add (USB usb){
//循环遍历所有插槽
for (int i=0;i<u.length;i++){
//如果发现一个空的
if(u[i]==null){
//将usb设备连接到这一个插槽中
u[i]=usb;
//连接上之后结束循环
break;
}
}
}
//计算机的开机功能
public void on(){
//循环遍历所有插槽
for(int i=0;i<u.length;i++){
//如果发现有设备
if(u[i]!=null){
//将USB设备启动
u[i].turnOn();
}
}
System.out.print("电脑开机成功");
}
//计算机关机功能
public void off(){
for(int i=0;i<u.length;i++){
if(u[i]!=null){
u[i].turnOff();
}
}
}
}
Keyboard.java
package ch;
//键盘
public class Keyboard implements USB{
public void turnOn(){
System.out.println("键盘启动了");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("键盘关闭了");
}
}
Microphone.java
package ch;
public class Microphone implements USB{
public void turnOn(){
System.out.println("麦克风启动了");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("麦克风关闭了");
}
}
Mouse.java
package ch;
//鼠标
public class Mouse implements USB{
public void turnOn(){
System.out.println("鼠标启动了");
}
@Override
public void turnOff() {
// TODO Auto-generated method stub
System.out.println("鼠标关闭了");
}
}
USB.java
package ch;
//定义一个 名称为USB的接口
public interface USB {
void turnOn();//启动
void turnOff();//关闭
}
Test.java
package ch;
//测试类
public class Test {
public static void main(String[] args) {
//实例化计算机对象
Computer p = new Computer();
//向计算机中添加鼠标、键盘、麦克风设备
p.add(new Mouse());
p.add(new Keyboard());
p.add(new Microphone());
p.on();//启动计算机
System.out.println("-----------------");
p.off();
}
}
下一篇: <clinit>与<init>方法