Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.08 KB | None | 0 0
  1.     public interface IFuel
  2.     {
  3.         Int32 Level { get; }
  4.         void Refill();
  5.     }
  6.     public abstract class Vehicle
  7.     {
  8.         public IFuel Fuel { get; }
  9.         public Vehicle(IFuel fuel)
  10.         {
  11.             Fuel = fuel;
  12.         }
  13.        
  14.     }
  15.     public class GasFuel : IFuel
  16.     {
  17.  
  18.         public Int32 Level { get; private set; }
  19.         public void Refill()
  20.         {
  21.             Console.WriteLine("Gas Refilled.");
  22.             Level = 100;
  23.         }
  24.         public GasFuel() : base()
  25.         {
  26.  
  27.         }
  28.     }
  29.  
  30.     public class ElectricFuel : IFuel
  31.     {
  32.         public Int32 Level { get; private set; }
  33.         public void Refill()
  34.         {
  35.             Console.WriteLine("Charged Battery.");
  36.             Level = 100;
  37.         }
  38.     }
  39.  
  40.     //What you're proposing, which is a bit silly.
  41.     public class ElectricCar : Vehicle
  42.     {
  43.         public ElectricCar():base(new ElectricFuel())
  44.         {
  45.  
  46.         }
  47.     }
  48.  
  49.     public class GasCar : Vehicle
  50.     {
  51.         public GasCar():base(new GasFuel())
  52.         {
  53.  
  54.         }
  55.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement