title: Is there a scenario where an Abstract class is preferred over Interface
body: <p>I am having a scenario where there are several subclasses which have got similar implementations and some extra methods for which the implementations differ with each subclass. I assume that an abstract class would be a good choice for this scenario. But would it be better if that abstract class implements an interface which contains all method declarations.Or should I just stick with the abstract class instead. </p>
  
  <p>In short, I would like to know the scenarios where I should prefer Abstract classes at the top of the hierarchy rather than an Interface.</p>