L'interface en programmation objet en plus de définir une structure de classe peut également être considérée comme un contrat. C'est un peu la différence entre une interface et une classe abstraite qui elle aussi peut définir une structure de classe à implémenter.
Je reviens pas sur les concepts de POO, si vous souhaitez utiliser ce bout de code je présume de toute façon que vous les maîtrisez.
Ce petit bout de code vous permet de développer votre code en l'orientant en services qui exposent des implémentations.
L'avantage d'une telle programmation est que :
1. vous pouvez faire un système modulaire facilement modifiable.
2. l'utilisateur du service n'a pas à se soucier de la classe à instancier
Voir le code d'utilisation ci-dessous :