2

我有一个城际配送系统模拟模型。代理的一种类型是“包裹”。在每个交付班次结束时,我想生成一些新包裹作为不同类型的包裹。因此,我创建了一个名为“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会被记录在“Agent Table”的Dummy_Parcel选项卡中。这个 Dummy_Parcel 也将出现在 Parcel 选项卡中。这会导致不必要的重复。如何配置以防止 Dummy_Parcel 在 Parcel 选项卡中显示?这个问题也出现在批量运行数据采集中。

在此处输入图像描述

4

1 回答 1

3

如果父类被指定为要收集统计信息的类,代理表和我相信数据收集将记录父代理类的所有子类。为了更好地分离实现子类,我建议创建一个父抽象类或接口Parcel,然后创建扩展或实现Parcel的子类,例如RealParcel、DummyParcel等。然后只指定数据集合中的子类和代理表将自动为每个子类类型提供单独的选项卡。

子类实际上不需要有任何不同于 Parcel 的特定行为——这种架构可以简单地用于帮助组织数据收集。

于 2019-12-08T17:34:08.367 回答