Interface (programmation orientée objet)
# Interface (programmation orientée objet)

En programmation orientée objet, une interface est un ensemble de signatures de méthodes publiques d'un objet.

Il s'agit donc d'un ensemble de méthodes accessibles depuis l'extérieur d'une classe, par lesquelles on peut modifier un objet, ou plus généralement communiquer avec lui. Pour rappel, la différenciation entre méthodes publiques et méthodes privées introduit une abstraction qui :

* empêche le programmeur d'application (qui emploie une classe) de manipuler l'objet de façon indue, puisque les seules modifications possibles d'une instance sont celles indiquées comme publiques par le concepteur de la classe ;
* permet au programmeur de la classe, de modifier l'implémentation interne de ces méthodes de manière transparente.

Selon le langage de programmation, l'utilité, la portée et la manière de décrire une interface, varient. Néanmoins il est commun à toutes les interfaces de déclarer chacune de leurs méthodes sous la forme d'une signature :

La sémantique de cette signature dépend aussi du langage.

