An interface defines the interaction between certain modules.
Interface is a very general concept which refers to the interaction points of arbitrary modules:
The interface defines how a module shall be used. There may be ways circumventing the interface and accessing internal parts of a module directly. This should be avoided (IH/E) but is sometimes done.
A module can be described as having a provided interface and a required interface.
An interface
is a language construct of certain object-oriented programming languages resembling an abstract class without any implementation.
An interface
is similar to a class but does not contain any attributes or implementations—just method signatures. Typically object-oriented programming languages use interfaces
in order to avoid the problems of multiple inheritance, especially the diamond problem. In such languages a class can inherit from only one class but multiple interfaces. In that way there is only one implementation inherited.
There are interfaces
in Java, C#, Object Pascal/Delphi and possibly also in other languages.
Note that in this wiki whenever the language construct is meant (and not the concept) interface
shall be written using a monospace font: interface
vs. interface.
public interface Collection<E> extends Iterable<E> { boolean add(E e); boolean addAll(Collection<? extends E> c) void clear() boolean contains(Object o) ... }
Discuss this wiki article and the term on the corresponding talk page.