An Interface  At first, interfaces came into focus because there was no multiple  inheritance supported by C#, meaning you could not inherit from multiple  classes, but you could implement multiple interfaces. The interfaces  are grouping of object in terms of behavior.   An interface contains only signatures. There is no implementation,  only the signatures of the functionality the interface provides. An  interface can contain signatures of methods, properties, indexers &  events.   Interface doesn't do anything like classes and abstract   classes, it just defines what the class will perform if some class  inherits it. An interface can also be inherited from another interface.   If we take an example of USB (Universal Serial Bus), it's an  interface which has signature of Connection functionality. The USB  interface only knows I have to connect with Desktop Computer or laptop  or anything, but it does not know what implementation will come to  connection. It may be Pen ...