我使用的是AnyLogic,我想知道一个参数或一个变量是否可以有多种类型。例如,如果我有四个代理"Factory“、"Distributor”、"Fulfillment“和"Order”。而且,我想在" order“类中创建一个名为"Origin”的参数或变量,它可以采用分销商或履行中心的类型,以便知道是谁向工厂发送了订单
发布于 2020-09-08 21:48:51
您可以使用Object作为参数类型...但之后,您需要将该参数转换为适当的类型。
所以当你想使用工厂属性时,你需要做((工厂)参数).property
另一种选择是使工厂,FullfilmentCenter和分配器从另一个名为Entity的类扩展,在这种情况下,您也可以创建Entity类型的参数,并执行我上面解释的相同操作。
可以在代理的高级属性中从另一个代理进行扩展
你可能还需要根据你正在做的事情来知道这个东西是工厂还是分销商……为此,您可以这样做
if(parameter instanceof Factory){
Factory factory=(Factory)parameter;
... //now do what you want with your factory local variable
}
https://stackoverflow.com/questions/63794771
复制相似问题