An Interface is blue print of classes with static constant and abstract methods which have no body. We can also defined interface as syntactical contract that all the classes inheriting the interface should follow. The Interface defines the which part of the syntactical contract and the deriving classes define how to create part of the syntactical contract. Interface used for define properties, methods, and events, which are the members of the interface and interfaces have only the declaration of the members. In interface our responsibility to define the members in derived class. Abstract classes to some extent serve the same purpose, however, they are mostly used when only few methods are to be declared by the base class and the deriving class implements the functionalities.