An interface defines properties and methods that your class must implement.
An abstract class
0)
may define properties and methods that your class must implement
if it's not your class is not abstract.
1) can have implementations of properties, methods and constructors
Any class can only inherit from one other class (abstract or not), but can implement multiple interfaces.
For more details see
Interfaces (C# Programming Guide)[
^]
Abstract and Sealed Classes and Class Members (C# Programming Guide)[
^]
Interfaces and Abstract Classes[
^]