Interface

What Does Interface Mean?

An interface specifies a group and/or a set of methods, which have not been implemented. When a class implements an interface, the class provides an implementation to all defined interface methods. A single class may implement any number of interfaces. Sometimes, constant declarations are included in an interface, along with method definitions.

Advertisements

Disadvantages for the interface is that all interface methods must be public and only abstract methods may be used in an interface. However, because these methods are implicit, they are not declared.

Techopedia Explains Interface

An interface is best explained with an example. The most common example is the connections among a television, a remote control, and a user. A user turns on the TV by using the remote control and may not necessarily know anything about the TV’s wiring. Thus, the remote control is an interface between the user and the television set.

Similarly, when a class implements an interface, the method functionalities are implemented without knowledge of the method's inner workings.

The following are examples of when to use an interface:

  • When two or more unrelated classes implement a set of methods, which may be defined in an interface and then implemented by the classes.
  • When an interface is a good alternative to multiple class inheritance.
  • When an object’s functionality is revealed without described implementation.
Advertisements

Related Terms

Latest Software Development Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…