设计程序 :
- 电脑类的属性USB接口数组 : 有3个usb插口
- 电脑类的功能 :
- 通过接口插入外设 (u盘,麦克风,键盘等)
addUSB(USB usb) {
} - 开机
要求: 电脑开机前,先启动外设 - 关机
要求: 电脑关机前,先关闭外设
- 外设类(u盘,麦克风,键盘等)
功能 : 启动 关闭
USB接口
定义usb设备的统一功能
开启() 关闭() - 效果 :
创建电脑对象,能插入外设,调用方法电脑开机,电脑开机前 外设启动,
电脑关机前,外设先关闭
UML类图
参考代码
Usb接口
package day529.homework;
/**
* Description: Usb接口
* date: 2024/5/29 20:51
* @author: LiCoffee
* @since JDK 1.8
*/public interface Usb {void open(); //打开外接设备void close(); //关闭外接设备
}
UDisk 类实现 Usb 接口
package day529.homework;public class UDisk implements Usb{@Overridepublic void open() {System.out.println("打开U盘");}@Overridepublic void close() {System.out.println("关闭U盘");}
}
Keyboard 类实现 Usb 接口
package day529.homework;public class Keyboard implements Usb{@Overridepublic void open() {System.out.println("打开键盘");}@Overridepublic void close() {System.out.println("关闭键盘");}
}
Keyboard 类实现 Usb 接口
package day529.homework;public class Microphone implements Usb{@Overridepublic void open() {System.out.println("打开麦克风");}@Overridepublic void close() {System.out.println("关闭麦克风");}
}
Computer 类
package day529.homework;
/**
* Description: 电脑类
* date: 2024/5/29 20:44
* @author: LiCoffee
* @since JDK 1.8
*/public class Computer {private int interfaceNum; //电脑接口数量private Usb[] usbs; //接口数组/*** @descriptions 无参构造方法,默认为三个接口* @author LiCoffee* @date 2024/5/29 20:43**/public Computer() {this(3);usbs = new Usb[interfaceNum];//定义接口数量}/*** @descriptions 有参构造方法,个性化定制接口数量* @author LiCoffee* @date 2024/5/29 20:47* @param interfaceNum - 传入接口数量**/public Computer(int interfaceNum) {this.interfaceNum = interfaceNum;usbs = new Usb[interfaceNum];}public int getInterfaceNum() {return interfaceNum;}public void setInterfaceNum(int interfaceNum) {this.interfaceNum = interfaceNum;}/*** @descriptions 插入设备* @author LiCoffee* @date 2024/5/29 20:48* @param usb -插入设备类型**/public void addUsb(Usb usb){for (int i = 0; i < usbs.length; i++) {if (usbs[i] == null) {usbs[i] = usb;break;}}}/*** @descriptions 打开电脑* @author LiCoffee* @date 2024/5/29 20:50**/public void open(){System.out.println("电脑打开");for (int i = 0; i < usbs.length; i++) {if (usbs[i] == null) { //防止空指针异常break;}usbs[i].open();}}/*** @descriptions 关闭电脑* @author LiCoffee* @date 2024/5/29 20:50**/public void close(){for (int i = 0; i < usbs.length; i++) {if (usbs[i] == null) { //防止空指针异常break;}usbs[i].close();}System.out.println("电脑关闭");}
}
Test 测试类
package day529.homework;public class Test {public static void main(String[] args) {Computer computer = new Computer(); //创建电脑computer.addUsb(new Keyboard()); //插入接口computer.addUsb(new Microphone()); //插入接口computer.addUsb(new UDisk()); //插入接口computer.open(); //打开电脑computer.close(); //关闭电脑}}
最后
如果感觉有收获的话,点个赞 👍🏻 吧。
❤️❤️❤️本人菜鸟修行期,如有错误,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍