Динамическая скорость транспортных средств в сценарии PDP - PullRequest
0 голосов
/ 05 мая 2018

Есть ли способ обеспечить динамическую скорость для транспортных средств (например, в зависимости от полезной нагрузки транспортного средства)?

Класс VehicleDTO является неизменным и не расширяемым, но требуется для базового класса PDPModel и всех его подклассов.

1 Ответ

0 голосов
/ 07 мая 2018

Если вы хотите расширить 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 (или новее), чтобы иметь возможность изменить скорость.

...