text: difference between interface and abstract classes in c#?   an abstract class is a special type of class that cannot be instantiated.  to use it, you must create another class that inherits from your abstract class.  an interface only contains method signatures, not implementations.  it is basically a contract.  any class that implements an interface must implement the methods contained in that interface.  as a side note, a c# class can implement multiple interfaces but it can only inherit one abstract class.