创建子类代理的问题

Issue of creating a subclass agent

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

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

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