title: When would you use Abstract methods over virtual methods in C#?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/391483/what-is-the-difference-between-abstract-function-and-virtual-function">What is the difference between an abstract and virtual function?</a>  </p>
  </blockquote>
  
  <p>What are the advantages of using <code>abstract</code> over <code>virtual</code> methods and vice versa?</p>
  
  <p><strong>Abstract Methods:</strong>   </p>
  
  <ul>
  <li>Only the abstract class can hold abstract methods.</li>
  <li>Also the derived class need to implement the method and no implmentation is provided in the class.</li>
  </ul>
  
  <p><strong>Virtual Methods:</strong></p>
  
  <ul>
  <li>A class can declare these and also provide the implementaion of the same.</li>
  <li>Also the derived class need to implement of the method to override it.</li>
  </ul>