Bonjour,
Qu chose m'echape, a quoi sert le faite de typer une variable avec une interface ?
ImyInterface myVariable.
Merci pour vos eclaircissement
Bonjour,
Qu chose m'echape, a quoi sert le faite de typer une variable avec une interface ?
ImyInterface myVariable.
Merci pour vos eclaircissement
Ca permet de faire abstraction du type réel de l'objet. Par exemple, si tu as 2 types MyClass1 et MyClass2 qui implémentent tous les deux IMyInterface, tu peux utiliser l'un ou l'autre indifféremment via ta variable.
L'intérêt de ne pas connaitre le type réel de l'objet est que cela diminue le couplage : par exemple, si tu as une méthode MaMethode qui renvoie un objet de type MyClass1, mais qu'un jour tu veux modifier pour que ça renvoie un MyClass2, tu es obligé de modifier le code appelant. Alors que si tu déclares que le type de retour de la méthode est IMyInterface, tu peux renvoyer MyClass1, MyClass2 ou n'importe quelle autre classe qui implémente IMyInterface, et que le code appelant n'a même pas besoin de connaître : il a juste besoin de savoir que c'est un objet implémentant IMyInterface.
Cela permet de bien séparer l'interface d'un objet (son "contrat") de son implémentation. De cette façon tu peux changer l'implémentation sans affecter le code qui utilise l'interface
Utiliser des interfaces plutôt que des types concrets est un des principes de base pour avoir une architecture robuste et évolutive. Je te conseille de lire cet article qui donne pas mal de conseils sur les bonnes pratiques en conception objet
Merci pour ton explication. Tres claire et me donne envie d'aller plus loin.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager