一、任务描述:
计算机上都有USB接口,鼠标键盘麦克风等都可以连接到USB接口上,
电脑打开时,这些设备也随之打开,
电脑关闭时,也都随之关闭
二、运行结果:
三、实现思路
1. 鼠标键盘这些设备都要插到接口才能够使用,所有需要先定义一个USB接口,
在接口中定义好规范;
2. 编写完接口后,需要编写接口的实现类,比如键盘,鼠标
接口对象类: 继承接口,重写接口方法
3. 由于这些设备需要在电脑中才能使用,需要编写计算机类,计算机有了插槽,然后逐个添加USB设备,
电脑类里:有很多USB插槽;
连接USB设备功能;
开机功能,关机功能;
4. 测试类: 实例化电脑类,添加设备
四、实现代码:
接口不能new对象,但是可以new接口数组
接口中变量默认使用 “public static final” 修饰,即全局常量
接口中的变量默认使用“ public abstract”修饰,即抽象方法
类里的变量一般是 private,方法是public
/**
*@Title USB.java
*@time 2019年6月4日 下午10:11:43
*@author wangyue
*@version 1.0
*@description
*USB类
*定义好规范
*/
package cn.task0401;
public interface USB {
void turnOn(); // 启动
void turnOff(); // 关闭
}
/**
*@Title Mouse.java
*@time 2019年6月4日 下午10:27:06
*@author wangyue
*@version 1.0
*@description
*鼠标
*USB实现类
*/
package cn.task0401;
public class Mouse implements USB {
@Override
public void turnOn() {
System.out.println("Mouse启动了");
}
@Override
public void turnOff() {
System.out.println("Mouse关闭了");
}
}
/**
*@Title KeyBoard.java
*@time 2019年6月4日 下午10:28:21
*@author wangyue
*@version 1.0
*@description
*键盘
*USB实现类
*/
package cn.task0401;
public class KeyBoard implements USB {
@Override
public void turnOn() {
System.out.println("KeyBoard启动了");
}
@Override
public void turnOff() {
System.out.println("KeyBoard关闭了");
}
}
/**
*@Title Computer.java
*@time 2019年6月4日 下午10:30:13
*@author wangyue
*@version 1.0
*@description TODO
*电脑类
*有多个USB插槽
*添加USB设备
*开机关机
*
*/
package cn.task0401;
public class Computer {
// 计算机上的USB插槽
// 接口不能new对象,但是可以new接口数组
private USB[] usbArr = new USB[4];
// 添加USB设备
public void add(USB usb) {
for (int i = 0; i < usbArr.length; i++) {
if (usbArr[i] == null) {
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) {
// 把该usb设备关闭
usbArr[i].turnOff();
}
}
System.out.println("电脑关机成功");
}
}
/**
*@Title Test.java
*@time 2019年6月4日 下午10:43:09
*@author wangyue
*@version 1.0
*@description TODO
*测试类
*/
package cn.task0401;
public class Test {
public static void main(String[] args) {
//实例化计算机对象
Computer co =new Computer();
//添加鼠标,键盘这些USB设备
co.add(new Mouse());
co.add(new KeyBoard());
//启动计算机
co.powerOn();
System.out.println();
//关闭计算机
co.powerOff();
}
}