65 lines
2.4 KiB
Java
65 lines
2.4 KiB
Java
package com.inmind.test10;
|
|
|
|
import java.util.List;
|
|
|
|
// 测试类
|
|
public class DeviceTest {
|
|
public static void main(String[] args) {
|
|
// 创建设备管理器
|
|
DeviceManager manager = new DeviceManager();
|
|
|
|
// 添加设备
|
|
manager.addDevice(new Smartphone("Apple", "iPhone 14", 6999.0, 256));
|
|
manager.addDevice(new Laptop("Dell", "XPS 15", 9999.0, 32));
|
|
manager.addDevice(new SmartTV("Sony", "KD-65X9000H", 7999.0, 65.0));
|
|
manager.addDevice(new Smartphone("Samsung", "Galaxy S23", 5999.0, 512));
|
|
manager.addDevice(new Laptop("Lenovo", "ThinkPad X1", 8999.0, 16));
|
|
|
|
// 显示所有设备
|
|
manager.showAllDevices();
|
|
|
|
// 显示设备总数(静态方法使用)
|
|
System.out.println("\n当前设备总数: " + Device.getTotalDevices());
|
|
|
|
// 开机所有设备
|
|
manager.powerOnAllDevices();
|
|
|
|
// 为所有可充电设备充电60分钟
|
|
manager.chargeAllChargeableDevices(60);
|
|
|
|
// 显示可充电设备及其电量
|
|
manager.showChargeableDevices();
|
|
|
|
// 按价格排序并显示
|
|
/*manager.sortDevicesByPrice();
|
|
manager.showAllDevices();*/
|
|
|
|
// 测试多态:调用特定设备的方法
|
|
System.out.println("\n===== 设备功能测试 =====");
|
|
List<Device> appleDevices = manager.findDevicesByBrand("Apple");
|
|
for (Device device : appleDevices) {
|
|
if (device instanceof Smartphone) {
|
|
Smartphone phone = (Smartphone) device;
|
|
phone.connectToNetwork("家庭WiFi");
|
|
phone.takePhoto();
|
|
phone.showBatteryStatus();
|
|
phone.disconnectFromNetwork();
|
|
}
|
|
}
|
|
|
|
// 测试静态方法:计算折扣价格
|
|
/*Device laptop = manager.findDevicesByBrand("Dell").get(0);
|
|
double discountPrice = Device.calculateDiscountPrice(laptop, 0.8);
|
|
System.out.println("\n" + laptop.getBrand() + " " + laptop.getModel() +
|
|
" 原价: " + laptop.getPrice() + " 折扣价: " + discountPrice);*/
|
|
|
|
// 关机所有设备
|
|
manager.powerOffAllDevices();
|
|
|
|
// 移除一个设备
|
|
manager.removeDevice("Sony", "KD-65X9000H");
|
|
manager.showAllDevices();
|
|
|
|
}
|
|
}
|
|
|