```java
// 定义 ComputeWeight 接口
interface ComputeWeight {
double computeWeight();
}
// 实现 TV 的 ComputeWeight 接口
class TV implements ComputeWeight {
@Override
public double computeWeight() {
return 10.0; // 假设电视重量为 10.0 千克
}
}
// 实现 WashMachine 的 ComputeWeight 接口
class WashMachine implements ComputeWeight {
@Override
public double computeWeight() {
return 20.0; // 假设洗衣机重量为 20.0 千克
}
}
// 实现 Computer 的 ComputeWeight 接口
class Computer implements ComputeWeight {
@Override
public double computeWeight() {
return 5.0; // 假设计算机重量为 5.0 千克
}
}
// 货车类
class Truck {
ComputeWeight[] cargo;
// 构造方法
public Truck(ComputeWeight[] cargo) {
this.cargo = cargo;
}
// 计算货物的总重量
public double calculateTotalWeight() {
double totalWeight = 0.0;
// 循环遍历货物并累加重量
for (ComputeWeight item : cargo) {
totalWeight += item.computeWeight();
}
return totalWeight;
}
}
// 主类
public class TruckWeight {
public static void main(String[] args) {
// 创建货物实例
ComputeWeight tv = new TV();
ComputeWeight washMachine = new WashMachine();
ComputeWeight computer = new Computer();
// 装载货物到货车
ComputeWeight[] cargo = { tv, washMachine, computer };
// 创建货车
Truck truck = new Truck(cargo);
// 计算并打印总重量
System.out.println("货车整批货物的总重量为:" + truck.calculateTotalWeight() + " 千克");
}
}
```