public Car(string name, double? mileage, double weight, string additionalInfo, Pilot pilot, double fuelTank, GasolineEngine engine) : base(name, mileage, weight, additionalInfo, pilot) { if (fuelTank < 0) throw new ArgumentException("fuel tank volume can't be below or equal zero"); FuelTank = fuelTank; Engine = engine; FuelType = new Petrol(); AccelerationSpeed = GetAccelerationSpeed(); }
protected virtual double BurnFuelRate(IFuelConsumeStrategy fuelType) { return fuelType.BurnFuelRate(Engine.HorsePowers, Weight); }
public virtual void SetFuelType(IFuelConsumeStrategy fuelType) { FuelType = fuelType; }