title: Why we need abstract class when we can inherit normal class?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo">Interface vs Abstract Class (general OO)</a>  </p>
  </blockquote>
  
  
  
  <p>Following are the confusions which I have between interface, abstract and normal class-</p>
  
  <ol>
  <li><p>I know an abstract class can have a method with no implementation, but what is the harm in declaring method as virtual in base class with some dummy implementation and over ride in derived class. Looking for a practical scenario where answer can be validated?</p></li>
  <li><p>Why we need an interface when we have abstract class, I know with interface we can have multiple inheritance, and have goggled about various theoretical reasons, looking for practical scenarios where abstract class just cant help and you have to go for interface?</p></li>
  <li><p>Is having an abstract class and interface is not an overhead?</p></li>
  </ol>