Bonjour,
ma question est :quelle est l'utilité de la déclaration des interfaces ?
merci
Bonjour,
ma question est :quelle est l'utilité de la déclaration des interfaces ?
merci
il existe plusieurs utilités de l'interface:
-L'héritage de plusieurs classe est impossible en java, on utilise les interface pour le faire.
-Un des principes de l'OO est de codée vers une interface pas vers une classe concrète ce qui permet de découple notre code et le rendre encore plus indépendant et plus vulnérable au changement future du système.
Donc l'interface est un le contrat d'une classe qu'elle doit implémenter.
L'intérêt d'une interface est d'implémenter un savoir-métier, c'est-à-dire que l'on force une classe qui l'implémente à définir des méthodes.
Autrement dit, le savoir métier c'est : "Ma classe implémente cette Interface alors elle sait obligatoirement faire ceci, ceci et ceci..."
Je ne sais pas si ça t'éclaire...
Bonjour,
j'ai bien compris ça-L'héritage de plusieurs classe est impossible en java, on utilise les interface pour le faire.
mais
çaUn des principes de l'OO est de codée vers une interface pas vers une classe concrète ce qui permet de découple notre code et le rendre encore plus indépendant et plus vulnérable au changement future du système.![]()
Bonjour,
pour quoi on force la classe de faire ceci et ceci ........
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 L'intérêt d'une interface est d'implémenter un savoir-métier, c'est-à-dire que l'on force une classe qui l'implémente à définir des méthodes. Autrement dit, le savoir métier c'est : "Ma classe implémente cette Interface alors elle sait obligatoirement faire ceci, ceci et ceci..."![]()
Je comprends parfaitement tes interrogations. Personnellement, j'ai mis plusieurs mois à comprendre l'intérêt des interfaces ; et à l'époque, il n'y avait pas grand monde pour me l'expliquer...
Ce principe est fondamental dans une conception objet un peu élaborée. Si tu as plein de classes, elles vont dépendre les unes des autres, soit directement, soit indirectement. Dans ce cas tout changement sur une classe peut avoir des impacts sur un grand nombre d'autres classes.Un des principes de l'OO est de codée vers une interface pas vers une classe concrète ce qui permet de découple notre code et le rendre encore plus indépendant et plus vulnérable au changement future du système.
Si tu arrives à avoir des dépendances vers des interfaces, tu simplifies ton problème car une interface n'ayant que des méthodes abstraites va avoir beaucoup moins de dépendances qu'une classe concrète. Il y aura beaucoup moins de dépendances indirectes.
eh bien disons que par exemple tu as une classe "Animal" et tu voudrais que chaque animal (donc les instances de ta classe "Animal") puisse bouger, i.e "avancer", "accélérer", "reculer". Tu peux les mettre "en dur" dans ta classe, mais une autre approche sera de créer une interface "Bouger" dans laquelle tu mettras ces trois méthodes.
Ainsi, en implémentant ton interface, tu seras obligé de définir ce qu'est "bouger" (avancer, accélérer, reculer) pour un animal. Autrement dit, ta classe aura le savoir-faire de l'interface "Bouger"...
Enfin, pour revenir sur le "contournement du multihéritage", une interface ne dépend pas de la notion de l'héritage de classe si bien que tu peux implémenter ton interface dans deux classes n'ayant aucun rapport. Tu peux ainsi créer une classe "Voiture" et lui faire implémenter la classe "Bouger".
Le résultat sera que tu auras le savoir-faire de "Bouger" pour les voitures et les animaux alors que ceux-ci sont totalement indépendants (pas de liens d'héritage).
Je ne sais pas si c'est plus clair
A bientôt
Bonjour,
merci titourock et sewatech et glagsoft pour les explications j'ai compris pour quoi on utilise les interfaces![]()
Partager