Oggetti

Nei modelli UML, gli oggetti sono elementi di modello che rappresentano istanze di una o più classi. È possibile aggiungere oggetti al modello per rappresentare istanze di prototipo o reali. Un'istanza reale rappresenta una persona reale o un elemento nel mondo reale. Ad esempio, l'istanza concreta della classe Customer rappresenta un cliente reale. Un'istanza di prototipo della classe Customer contiene dati che rappresentano un cliente tipico.

Una classe rappresenta un'astrazione di un concetto o di un elemento fisico, mentre un oggetto rappresenta un'entità reale. Un oggetto ha un limite ben definito ed è significativo nell'applicazione. Gli oggetti hanno le caratteristiche elencate nella seguente tabella:

Caratteristica Descrizione
Stato Lo stato è la condizione in cui può esistere un oggetto. Lo stato di un oggetto è implementato con una serie di attributi e generalmente cambia nel tempo.
Funzionalità La funzionalità determina in che modo un oggetto risponde alle richieste di altri oggetti. La funzionalità è implementata da una serie di operazioni.
Identità L'identità di un oggetto lo rende univoco. È possibile utilizzare l'identità univoca di un oggetto per distinguere più istanze di una classe, se ogni istanza ha lo stesso stato.

Ogni oggetto deve avere un nome univoco. Un nome oggetto completo è composto da tre parti: nome oggetto, nome ruolo e nome classe. È possibile utilizzare qualsiasi combinazione delle parti quando si denomina un oggetto. La seguente tabella mostra diverse variazioni di nomi oggetto per un sistema di acquisti online.

Sintassi Esempio Descrizione
oggetto/ruolo:classe cart100/storage:cart Un'istanza specificata (cart100) della classe cart che esegue il ruolo di memorizzazione durante un'interazione.
oggetto:classe cart100:cart Un'istanza specificata (cart100) della classe cart
/ruolo:classe /storage:cart Istanza anonima della classe cart che esegue il ruolo di memorizzazione in un'interazione.
oggetto/ruolo cart/storage Un oggetto denominato cart che esegue il ruolo di memorizzazione. Tale oggetto è un'istanza che nasconde il nome della classe o è un'istanza non associata a una classe.
oggetto cart100 Un oggetto denominato cart100. Tale oggetto è un'istanza che nasconde il nome della classe o è un'istanza non associata a una classe.
/ruolo /storage Un'istanza anonima esegue il ruolo di memorizzazione. Tale oggetto è un'istanza che nasconde il nome dell'oggetto e la classe o è un'istanza non associata a un oggetto o a una classe.
:classe :cart Istanza anonima della classe customer.

Tipi di oggetti

La seguente tabella illustra i tre tipi di oggetti.

Tipi di oggetti Descrizione
Attivo Un oggetto attivo possiede un thread di controllo e può attivare l'attività di controllo. I processi e le attività sono tipi di oggetti attivi.
Passivo Un oggetto passivo contiene dati, ma non attiva un controllo.
Istanza multipla Una raccolta di oggetti o di più istanze della stessa classe. Più istanze vengono generalmente utilizzate per mostrare che una serie di oggetti interagisce con un singolo messaggio (o stimolo).
Attività correlate
Organizzazione di modelli UML

Feedback