Difference between abstract class and interface in C#.

The difference between abstract class and interface can be described in following table:

Interface Abstract class
Interface support multiple inheritance Abstract class does not support multiple inheritance
Interface doesn’t Contains Data Member Abstract class contains Data Member
Interface doesn’t contains Constructors Abstract class contains Constructors
An interface Contains only incomplete member (Events, properties, methods, indexers) 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
Share this post:Tweet about this on TwitterShare on Facebook0Share on LinkedIn0Share on Google+0Share on Reddit0Email this to someoneDigg this