我有一个城际配送系统仿真模型。代理人的一种类型是“包裹”。在每次送货班次结束时,我想要生成一些新的包裹,作为一个不同的包裹。因此,我创建了一个名为"Dummy_Parcel“的新类,它是从类"Parcel”扩展而来的。
package intraCity_Simulator;
public class DummyParcel extends Parcel {
public DummyParcel(int id, int arr_tm, String or_hub, String de_hub, String mode, double wgt, double qty) {
super(id, arr_tm, or_hub, de_hub, mode, wgt, qty);
// TODO Auto-generated constructor stub
}
}问题是,当我创建一个新的" Dummy_Parcel“时,这个Dummy_Parcel将被记录在”代理表“的Dummy_Parcel选项卡中。而且,这个Dummy_Parcel将出现在“包裹”选项卡中。这造成不必要的重复。如何配置以防止Dummy_Parcel显示在包裹标签中?在批处理运行数据收集中也会出现此问题。

发布于 2019-12-08 17:34:08
如果父类被指定为收集统计数据的类,则代理表和数据收集也将记录父代理类的所有子类。为了更好地分离实现子类,我建议创建一个父抽象类或接口包,然后创建扩展或实现包的子类,例如RealParcel、DummyParcel等。然后只在数据收集中指定子类,代理表将为每种子类类型自动设置单独的选项卡。
子类实际上不需要有任何与Parcel不同的特定行为--这种体系结构可以简单地用于帮助组织数据收集。
https://stackoverflow.com/questions/59234121
复制相似问题