設計程序 :
- 電腦類的屬性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(); //關閉電腦}}
最后
如果感覺有收獲的話,點個贊 👍🏻 吧。
??????本人菜鳥修行期,如有錯誤,歡迎各位大佬評論批評指正!😄😄😄
💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍