This is from the site dotnetbull. I am blogging this here for future reference.
Interface | Abstract Classes |
---|---|
Interface support multiple implementations | Abstract class does not support multiple inheritance |
Interface does not contain Data Member | Abstract class contains Data Member |
Interface does not contain Constructors | Abstract class contains Constructors |
An interface Contains only incomplete member (signature of member) | An abstract class Contains both incomplete (abstract) and complete member |
An interface cannot have access modifiers by default everything is assumed as public | An abstract class can contain access modifiers for the subs, functions, properties |
Member of interface can not be Static | Only Complete Member of abstract class can be Static |