Interface

DéfinitionInterface

On pourrait comparer les interfaces à des classes abstraites ne contenant que des méthodes abstraites.

Mais, les interfaces ne sont pas des classes, elles sont implémentées et non héritées.

Comme pour les classes abstraites, l’intérêt est d'ajouter de la rigueur dans un projet. Toutes les méthodes de l'interface devront être redéfinies dans la classe qui l’implémente.

Contrairement aux classes, les interfaces permettent l'implémentation multiple. En effet, une classe peut implémenter plusieurs interfaces mais hériter que d'une seule classe.

(Certains langages commencent à intégrer l'héritage multiple)

Représentation UML d'Interfaces
1
interface Interface1 {
2
  function methode1();
3
  function methode2();
4
}
5
6
interface Interface2 {
7
  function methode3();
8
}
9
10
class ClasseFille implements Interface1, Interface2 {
11
  public function methode1(){...};
12
  public function methode2(){...};
13
  public function methode3(){...};
14
}

Attention

Les méthodes de l'interface ne sont pas définies, elles sont juste déclarées.