title: Pure virtual methods in C#?
body: <p>I've been told to make my class abstract: </p>
  
  <pre><code>public abstract class Airplane_Abstract
  </code></pre>
  
  <p>And to make a method called move virtual</p>
  
  <pre><code> public virtual void Move()
          {
              //use the property to ensure that there is a valid position object
              double radians = PlanePosition.Direction * (Math.PI / 180.0);
  
              // change the x location by the x vector of the speed
              PlanePosition.X_Coordinate += (int)(PlanePosition.Speed * Math.Cos(radians));
  
              // change the y location by the y vector of the speed
              PlanePosition.Y_Coordinate += (int)(PlanePosition.Speed * Math.Sin(radians));
          }
  </code></pre>
  
  <p>And that 4 other methods should be "pure virtual methods."
  What is that exactly? </p>
  
  <p>They all look like this right now:</p>
  
  <pre><code>public virtual void TurnRight()
  {
      // turn right relative to the airplane
      if (PlanePosition.Direction &gt;= 0 &amp;&amp; PlanePosition.Direction &lt; Position.MAX_COMPASS_DIRECTION)
          PlanePosition.Direction += 1;
      else
          PlanePosition.Direction = Position.MIN_COMPASS_DIRECTION;  //due north
  }
  </code></pre>