某大型家电企业拥有一批送货卡车, 运送电视机、空调、洗衣机等家电。编程计 34 算每个卡车所装载货物的总重量。 35 36 要求如下: N 37 :创建一个ComputeWeight接口,接口中有方法: double computeWeight0; 38 2.创建三个类Television、AirConditioner和WashMachine。 这些类都实现了 39 ComputeWeight接口,能够提供自重。其中TV的自重为16.6kg, AirConditioner 40 的自重为40.0kg, WashMachine的自重为60.0kg。 41 42 3.创建一个Truck类,私有成员变量goods是一个ComputeWeight型的数组,包含 43 了该货车上的所有家电,公有方法getTotalWeight()返回goods中所有货物的重量之和。
时间: 2024-02-13 11:04:02 浏览: 85
遗传算法解决卡车货物运送成本最小C++
好的,我明白了你的问题。下面是实现ComputeWeight接口的Television、AirConditioner和WashMachine类的代码:
```
interface ComputeWeight {
double computeWeight();
}
class Television implements ComputeWeight {
private double weight = 16.6;
public double computeWeight() {
return weight;
}
}
class AirConditioner implements ComputeWeight {
private double weight = 40.0;
public double computeWeight() {
return weight;
}
}
class WashMachine implements ComputeWeight {
private double weight = 60.0;
public double computeWeight() {
return weight;
}
}
```
接下来是Truck类的代码:
```
public class Truck {
private ComputeWeight[] goods;
public Truck(ComputeWeight[] goods) {
this.goods = goods;
}
public double getTotalWeight() {
double totalWeight = 0;
for (ComputeWeight good : goods) {
totalWeight += good.computeWeight();
}
return totalWeight;
}
}
```
这里我们利用了接口和多态的特性,将Television、AirConditioner和WashMachine类实现了ComputeWeight接口,使它们具有了计算自重的能力。然后在Truck类中,我们利用ComputeWeight接口的多态性,将Television、AirConditioner和WashMachine对象都存储在了ComputeWeight类型的数组中,并通过循环遍历数组,计算出所有货物的重量之和。
阅读全文