UML - Interfaces et Réalisations

Table des matières
Parfois, il arrive que lorsque nous réalisons des diagrammes sur des systèmes étendus, nous nous rendions compte que certaines classes n'appartiennent pas à la classe principale, cependant, nous pouvons avoir besoin de certaines opérations de ladite classe principale, ce qui nous laisse plusieurs options ouvertes.
L'une de ces options est un Interface, ce concept nous permet de spécifier les opérations dans une classe et comment les présenter aux autres.
Interface
La Interface permet de spécifier un ensemble d'opérations en classe qui peut être utilisé par d'autres, il est représenté de la même manière qu'une classe à l'aide d'un rectangle, cependant il diffère d'une classe en ce qu'il n'aura pas d'attributs car ce ne sera qu'un ensemble d'opérations.
Pour distinguer un Interface d'une classe avec ses attributs cachés, il faut utiliser le mot interface comme stéréotype, ou simplement placer un je devant le nom de cette interface.
Voyons l'exemple suivant de la façon d'implémenter une interface dans notre diagramme :

Dans ce cas, prenons le clavier comme exemple, si nous regardons un clavier d'ordinateur et un clavier de machine à écrire, ils sont très similaires, alors nous pouvons conclure que nous pouvons créer une interface, où nous incorporons l'opération clavier (), dans lequel lors de l'appui sur une touche il doit renvoyer une réponse sous forme de lettre, soit sur papier dans le cas de la machine à écrire, soit sur l'écran de notre ordinateur; puis nous voyons que dans la classe clavier nous avons plusieurs opérations supplémentaires, celles-ci correspondent aux différences entre le clavier de l'ordinateur et la machine à écrire.
Comme nous pouvons le voir, la mise en œuvre d'une interface n'est pas si complexe.
Nous avons également un formulaire omis pour être capable de rendre l'interface À l'intérieur d'une classe, nous pouvons voir ce formulaire dans l'image suivante :

Visibilité
La visibilité correspond à la manière dont nous montrons les opérations et les attributs d'une classe, il y a certains processus qui ne doivent pas être montrés aux autres classes, nous avons donc décidé de les rendre privés, cela remplit une des conditions de l'orientation objet qui est la encapsulation.
Nous avons 3 niveaux de visibilité qui sont les suivants :
  • Publique: cela peut être vu depuis n'importe quelle autre classe et pour le spécifier nous le délimitons avec un signe +.
  • Protégé: cela ne peut être vu que par la classe d'origine et tous ceux qui en héritent, nous le marquons avec le #.
  • Privé: Seule la classe d'origine peut le voir et il est délimité par un -.
Nous arrivons donc au concept de la concrétisation, où l'on précise que les interfaces doivent placer leurs opérations publiquement, sinon ce chiffre n'aurait pas de sens puisque les autres classes ne pourraient pas voir les opérations correspondantes.
Voyons l'exemple suivant sur la façon de spécifier la visibilité des opérations et des attributs d'une classe :

Comme on le voit sur l'image, la télévision a le fonctionnement privé colorPictureOnScreen (), on en déduit que seule cette opération est importante pour cette classe et qu'une autre classe n'aurait pas à avoir accès à ladite opération.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave