title: Decorator pattern in C# without Inheritance. Is this correct?
body: <pre><code> public interface IMovable
      {
          void Move();
      }
  
      public interface IUnloadable
      {
          void Unload();
      }
  
      public class Vehicle : IMovable
      {
          public void Move()
          {
              Console.Write("moving");
          }
      }
  
      public class Truck : IMovable, IUnloadable
      {
          private Vehicle Veh;
  
          public Truck(Vehicle veh)
          {
              this.Veh = veh;
          }
  
          public void Move()
          {
              Veh.Move();
              Console.Write("reverse with beepy noise as well");
          }
  
          public void Unload()
          {
             Console.Write("Unload");
          }
      }
  </code></pre>
  
  <p>If this is the decorator pattern. What is the difference between the decorator pattern and composition? I have seen examples of this pattern where inheritance is used. For instance the Java example on Wikipedia.</p>
  
  <p>I don't see the need to use inheritance at all, or am I missing something?</p>