Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- public abstract class Driver
- {
- private string name;
- private double totalTime;
- private Car car;
- private double fuelConsumptionPerKm;
- private double speed;
- protected Driver(string name, Car car, double fuelConsumptionPerKm)
- {
- this.Name = name;
- this.TotalTime = 0;
- this.Car = car;
- this.FuelConsumptionPerKm = fuelConsumptionPerKm;
- }
- public string Name
- {
- get { return this.name; }
- private set { this.name = value; }
- }
- public double TotalTime
- {
- get { return this.totalTime; }
- private set { this.totalTime = value; }
- }
- public Car Car
- {
- get { return this.car; }
- private set { this.car = value; }
- }
- public double FuelConsumptionPerKm
- {
- get { return this.fuelConsumptionPerKm; }
- private set { this.fuelConsumptionPerKm = value; }
- }
- public virtual double Speed => (this.Car.Hp + this.Car.Tyre.Degradation) / this.Car.FuelAmount;
- }
- //--------------------------------------------------------------------------------------------------
- using System;
- using System.Collections.Generic;
- using System.Text;
- public class AggressiveDriver : Driver
- {
- public AggressiveDriver(string name, Car car)
- : base(name, car, 2.7)
- {
- }
- public override double Speed => base.Speed * 1.3;
- }
- //--------------------------------------------------------------------------------------------------
- using System;
- using System.Collections.Generic;
- using System.Text;
- public class EnduranceDriver : Driver
- {
- public EnduranceDriver(string name, Car car)
- : base(name, car, 1.5)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement