Advantage of abstract class over interface
<p>I got the following statement from <a href="http://msdn.microsoft.com/en-US/library/ms229013%28v=vs.100%29.aspx" rel="nofollow">an MSDN article</a>. It says that the abstract classes have an advantage over interfaces because it is possible to alter an abstract class to add  new  members. Doesn't altering the abstract class really make the classes inheriting from it unstable? Or can any one please explain what is their point here?</p>

<blockquote>
  <p>Do favor defining classes over interfaces.</p>
  
  <p>In later versions of your library, you can safely add new members to
  classes; you cannot add members to interfaces without breaking
  existing code.</p>
</blockquote>
