UML - Interfacce e Realizzazioni

Sommario
A volte capita che quando realizziamo diagrammi su sistemi estesi, ci rendiamo conto che alcune classi non appartengono alla classe principale, tuttavia, potrebbero essere necessarie alcune operazioni di detta classe principale, il che ci lascia aperte diverse opzioni.
Una di queste opzioni è a Interfaccia, questo concetto ci permette di specificare le operazioni in una classe e come presentarle agli altri.
Interfaccia
Il Interfaccia permette di specificare un insieme di operazioni in classe che possono essere utilizzate da altri, è rappresentato allo stesso modo di una classe che utilizza un rettangolo, tuttavia differisce da una classe in quanto non avrà attributi perché sarà solo un insieme di operazioni.
Per distinguere a Interfaccia di una classe con i suoi attributi nascosti, dobbiamo usare la parola interfaccia come stereotipo, o semplicemente porre a io davanti al nome di quell'interfaccia.
Vediamo il seguente esempio di come implementare un'interfaccia nel nostro diagramma:

In questo caso prendiamo come esempio la tastiera, se osserviamo la tastiera di un computer e la tastiera di una macchina da scrivere sono molto simili, allora possiamo concludere che possiamo creare un'interfaccia, dove incorporiamo l'operazione tastiera (), in cui premendo un tasto deve restituire una risposta sotto forma di lettera, sia cartacea nel caso della macchina da scrivere, sia sullo schermo del nostro computer; poi vediamo che nella classe tastiera abbiamo diverse operazioni aggiuntive, queste corrispondono alle differenze tra la tastiera del computer e la macchina da scrivere.
Come possiamo vedere, l'implementazione di un'interfaccia non è così complessa.
Abbiamo anche un modulo omesso per essere in grado di rendere l'interfaccia All'interno di una classe possiamo vedere questo modulo nell'immagine seguente:

Visibilità
Il visibilità corrisponde al modo in cui mostriamo le operazioni e gli attributi di una classe, ci sono alcuni processi che non dovrebbero essere mostrati ad altre classi, quindi abbiamo deciso di renderli privati, questo soddisfa una delle condizioni dell'orientamento agli oggetti che è il incapsulamento.
Abbiamo 3 livelli di visibilità che sono i seguenti:
  • Pubblico: questo può essere visto da qualsiasi altra classe e per specificarlo lo demarcamo con un segno +.
  • Protetto: questo può essere visto solo dalla classe originale e da tutte quelle che da essa ereditano, lo contrassegniamo con il #.
  • Privato: Solo la classe originale può vederlo ed è delimitato da un -.
Quindi arriviamo al concetto di realizzazione, dove specifichiamo che le interfacce devono porre pubblicamente le loro operazioni, altrimenti questa figura non avrebbe senso in quanto le altre classi non sarebbero in grado di vedere le operazioni corrispondenti.
Vediamo il seguente esempio di come specificare la visibilità delle operazioni e degli attributi di una classe:

Come vediamo nell'immagine, la televisione ha l'operazione privata colorPictureOnScreen(), deduciamo che solo questa operazione è importante per questa classe e che un'altra classe non dovrebbe avere accesso a detta operazione.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave