Interface (computing)
Appearance
In computer science, an interface is a language construct used for both abstraction and encapsulation through which constants, data types, procedures, and method signatures are defined, but the details of implementation are intentionally left undefined.
Examples of programming languages that provide interfaces:
- Mesa (Xerox PARC, ca. 1978)
- Modula (Niklaus Wirth, ETH Zurich, 1980s)
- Modula-2 (Xerox PARC, ca. 1983)
- Oberon (Niklaus Wirth, ETH Zurich, 1980s)
- Modula-3 (DEC SRC, 1980s)
- Java
- C# (included in Microsoft DotNet).
The concept of interface is the cornerstone of modular programming, a forerunner and ingredient of object-oriented programming. Interfaces were historically derived from the header files of the C programming language by restricting their syntactic context and contents, and making them a part of the language semantics (as opposed to a mere preprocessor feature).