PDP场景中车辆的动态速度

时间:2018-05-05 13:35:05

标签: java rinsim

有没有办法为车辆提供动态速度(例如,取决于车辆有效载荷)?

VehicleDTO类是不可变的,不可扩展,但在PDPModel基类及其所有子类中都是必需的。

1 个答案:

答案 0 :(得分:0)

如果你想扩展VehicleDTO,你可以通过合成来实现(因为你不应该从值对象继承):

@AutoValue
abstract class MyVehicleDTO {
  public abstract VehicleDTO getVehicleDto();

  // add more properties
}

上面的示例使用AutoValue创建值对象,但这不是必需的。您可以使用此值对象来定义自定义车辆,如下所示:

public class MyVehicle extends Vehicle {
  public MyVehicle(MyVehicleDTO vehicleDto) {
    super(vehicleDto.getVehicleDto());
  }

  @Override
  public double getSpeed() {
    // change the following line to have a dynamic speed
    return dto.getSpeed();
  }

  @Override
  protected void tickImpl(TimeLapse time) {}
}

通过创建自己的Vehicle,您可以动态更改速度。

注意:确保您使用RinSim v4.4.4(或更高版本)来覆盖速度。