title: Create inherited class from base class
body: <pre><code>public class Car 
  { 
      private string make;
      private string model;
      public Car(string make, string model)
      {
           this.make = make;
           this.model = model;
      }
      public virtual void Display()
      {
         Console.WriteLine("Make: {0}", make);
         Console.WriteLine("Model: {0}", model);
      }
      public string Make
      {
         get{return make;}
         set{make = value;}
      }
      public string Model
      {
         get{return model;}
         set{model = value;}
      }
  }
  
  public class SuperCar:Car
  {
      private Car car;
      private int horsePower;
      public SuperCar(Car car)
      {
          this.car = car;
      }
      public int HorsePower
      {
         get{return horsePower;}
         set{horsepower = value;}
      }
      public override void Display()
      {
         base.Display();
         Console.WriteLine("I am a super car");
  }
  </code></pre>
  
  <p>When I do something like</p>
  
  <pre><code>Car myCar = new Car("Porsche", "911");
  SuperCar mySupcar = new SuperCar(myCar);
  mySupcar.Display();
  </code></pre>
  
  <p>I only get "I am a supercar" but not the properties of my base class. Should I explicitly assign the properties of my base class in the SuperCar constructor? In fact I'm trying Decorator pattern where I want a class to add behaviour to a base class. </p>