An interface specifies what a class must do, but not how it does it. It is syntactically similar to a class, but its methods are declared without any body. A class implements an interface by creating a complete set of methods defined by the interface.
An interface diagram shows how a class can implement an interface.
An interface is used in a program to enable similar classes to have a standard behavior while having the programmer who builds these classes define how the behavior is performed.
The purpose of a user interface is to enable a user to use a program. An interface is a standard behavior. Programmers who use a class that implements an interface can expect that the class will define a set of standard methods. Programmers who build classes for use by other programmers must define a set of standard methods that conform to a standard interface.
The C programming language doesnt use an interface because C is not an object-oriented programming language.
An interface is similar to multiple inheritance.
C++ does not support an interface, but it does support multiple inheritance.
Java and C# support interfaces because they do not support multiple inheritance.
A component is a class designed to fit into some preexisting class framework and may do so through inheritance or by implementing one or more interfaces. However, it must follow its environments rules for components .
An Integrated Development Environment is a good example because it enables programmers to drag and drop components such as buttons from a tool palette onto a form.