Une interface permet de d'établir un ensemble de comportements abstraits définissant un contrat que va respecter une classe. - spécification d'un protocole en termes de signatures de méthodes abstraites (sans corps);
- une interface ne contient pas de code; c'est une classe abstraite où toutes les méthodes sont abstraites.
- une interface ne peut avoir de variables membres mais peut avoir des constantes de classes (variables statiques et finales).
- une classe qui implémente une interface s'engage à remplir le contrat, et donc à donner un corps à toutes les méthodes de l'interface.
Exemple : le code suivant définit une classe PointColore qui est une sous-classe de Points2D, et implémente l'interface Colorable. La classe PointColore doit donc implémenter la méthode setColor de l'ineterface.
public interface Colorable {
void setColor(byte r, byte g, byte b);
}
class Point2D {
int x, y;
}
class PointColore extends Point2D implements Colorable {
byte r, g, b;
public void setColor(byte rv, byte gv, byte bv) {
r = rv; g = gv; b = bv;
}
}
|
|