Advertisement
butoff

Car_Truck_Vehicles

Mar 8th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.85 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5.  
  6. public class Car : IVehicle
  7. {
  8.     public Car(double fuelQuantity, double fuelConsumePerKm)
  9.     {
  10.         this.FuelQuantity = fuelQuantity;
  11.         this.FuelConsumePerKm = fuelConsumePerKm + 0.9;
  12.     }
  13.  
  14.     public double FuelQuantity { get; private set; }
  15.     public double FuelConsumePerKm { get; private set; }
  16.  
  17.     public void Drive(double distance)
  18.     {        
  19.         if (distance * FuelConsumePerKm > FuelQuantity)
  20.         {
  21.             Console.WriteLine($"Car needs refueling");            
  22.         }
  23.         else
  24.         {
  25.             this.FuelQuantity -= distance * this.FuelConsumePerKm;
  26.             Console.WriteLine($"Car travelled {distance} km");
  27.         }
  28.     }
  29.  
  30.     public void Refuel(double liters)
  31.     {
  32.         this.FuelQuantity += liters;
  33.     }
  34.  
  35.     public override string ToString()
  36.     {
  37.         return $"Car: {this.FuelQuantity:f2}";
  38.     }
  39. }
  40.  
  41. public class Truck : IVehicle
  42. {
  43.     public Truck(double fuelQuantity, double fuelConsumePerKm)
  44.     {
  45.         FuelQuantity = fuelQuantity;
  46.         FuelConsumePerKm = fuelConsumePerKm + 1.6;
  47.     }
  48.     public double FuelQuantity { get; private set; }
  49.     public double FuelConsumePerKm { get; private set; }
  50.  
  51.     public void Drive(double distance)
  52.     {
  53.        
  54.         if (distance * FuelConsumePerKm > FuelQuantity)
  55.         {
  56.             Console.WriteLine($"Truck needs refueling");            
  57.         }
  58.         else
  59.         {
  60.             this.FuelQuantity -= distance * this.FuelConsumePerKm;
  61.             Console.WriteLine($"Truck travelled {distance} km");
  62.         }
  63.     }
  64.  
  65.     public void Refuel(double liters)
  66.     {
  67.         liters *= 0.95;
  68.         this.FuelQuantity += liters;
  69.     }
  70.  
  71.     public override string ToString()
  72.     {
  73.         return $"Truck: {this.FuelQuantity:f2}";
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement