Bonjour
J’ai lu plusieurs cours et tutoriels UML qui portent sur l’utilisation d’une interface en UML.
Les concepts d’UML sont très clairs à l’exception de l’utilisation d’une interface qui reste tout de même assez ambiguë. En tout cas pour moi.
On lit souvent qu’on utilise une interface dans deux cas de figures :
Mes questions :1- Quand les classes ont en commun une fonctionnalité (accompli par une méthode), on peut la proposer en interface.
2- Quand on veut opérer sur des objets sans connaissance de leurs classes. Autrement dit, utiliser le polymorphisme.
3- Il ya des classes qui utilisent une interface, et une ou d’autres qui la réalisent (implémente le code).
Est-ce une raison suffisante pour décider d’utiliser l’interface ? On utilise une interface pour jouir du polymorphisme. Ce dernier (polymorphisme), ne concerne pas les objets de toutes les classes ; mais d’un ensemble de classe. Personnellement, je ne fais partager une interface qu’entre des classes pas forcement de la même hiérarchie, mais qui partagent un contexte de POLYMORPHISME que je peux utiliser dans le code. On peut prendre l’exemple du pattern strategy.Sur le 1 :
Ainsi la première proposition ne doit pas, à mon avis, être systématique pour le modélisateur !
Encore faut-il savoir quelles classes sont concernées par le comportement polymorphe !!Sur le 2 :
Alors, là je zappe certainement quelque chose !Sur le 3 :
Une classe qui réalise l’interface ; cela pour moi voudrait dire qu’elle propose aux autres classes, qui utilisent la méthode de l’interface (qui est vide), le code en question.
Je pensais que les classes qui utilisent l’interface doivent implémenter la méthode. Ah oui, mais là c’est utiliser mais pas forcément hériter ; Je serai curieux dans ce cas de voir une implémentation d’une interface (UML) par le langage java ; à savoir mettre le code de l’interface dans une classe et laisser les autres classes en profiter. En tout cas, java propose une autre manière de faire.
Merci à vous
Partager