任务描述 在智慧农业系统中,假设有番茄、黄瓜和花菜三块实验田,系统需要对每块作物的生长状态进行监控,未来还需要对病虫害进行监控。 本关任务:系统要求在设计软件架构时,将作物对象与监控数据分离,当需要增加新的监控分析时,无需修改作物的类结构。系统已模拟实现生长状态的监控,请参照后,添加病虫害监控功能(PestsVisitors)。 编程要求 根据已有框架的提示,在右侧编辑器补充“PestsVisitors.java”和“Client.java”文件中begin至end的代码。 测试说明 平台会对你编写的代码进行测试: 预期输出: 黄瓜实验田1生长监控完成 花菜实验田2生长监控完成 番茄实验田3生长监控完成 黄瓜实验田1病虫害监控完成 花菜实验田2病虫害监控完成 番茄实验田3病虫害监控完成
时间: 2024-02-12 22:04:48 浏览: 131
PestsVisitors.java文件代码如下:
```
public class PestsVisitors implements Visitors {
public void visit(TomatoCrop crop) {
System.out.println(crop.getName() + "病虫害监控完成");
}
public void visit(CucumberCrop crop) {
System.out.println(crop.getName() + "病虫害监控完成");
}
public void visit(CauliflowerCrop crop) {
System.out.println(crop.getName() + "病虫害监控完成");
}
}
```
Client.java文件代码如下:
```
public class Client {
public static void main(String[] args) {
Crop[] crops = {new CucumberCrop("黄瓜实验田1"), new CauliflowerCrop("花菜实验田2"), new TomatoCrop("番茄实验田3")};
GrowthVisitors gv = new GrowthVisitors();
PestsVisitors pv = new PestsVisitors();
for (Crop c : crops) {
c.accept(gv);
}
for (Crop c : crops) {
c.accept(pv);
}
}
}
```
阅读全文