Une classe représente une abstraction d'un concept ou d'une chose physique, tandis qu'un objet représente une entité concrète. Un objet a une limite bien définie et est signifiant dans l'application. Les caractéristiques des objets sont répertoriées dans le tableau suivant :
| Caractéristique | Description |
|---|---|
| État | L'état est la condition dans laquelle un objet peut exister. L'état d'un objet est implémenté avec un ensemble d'attributs et change généralement avec le temps. |
| Comportement | Le comportement détermine la manière dont un objet répond aux requêtes d'autres objets. Le comportement est implémenté par un ensemble d'opérations. |
| Identité | L'identité d'un objet le rend unique. Vous pouvez utiliser l'identité unique d'un objet pour faire la distinction entre plusieurs instances d'une classe dans le cas où l'état est le même pour chaque instance. |
Chaque objet doit avoir un nom unique. Un nom d'objet complet est composé de trois parties : le nom de l'objet, le nom du rôle et le nom de la classe. Pour nommer un objet, vous pouvez combiner ces parties comme vous le souhaitez. Le tableau suivant présente plusieurs variations de nom d'objet pour un système d'achat en ligne.
| Syntaxe | Exemple | Description |
|---|---|---|
| objet/rôle:classe | cart100/storage:cart | Une instance nommée (cart100) de la classe Cart joue le rôle de stockage lors de l'interaction. |
| objet:classe | cart100:cart | Une instance nommée (cart100) de la classe Cart |
| /rôle:classe | /storage:cart | Une instance anonyme de la classe Cart qui joue le rôle de stockage au cours d'une interaction. |
| objet/rôle | cart/storage | Un objet nommé cart qui joue le rôle de stockage. Cet objet est soit un objet qui masque le nom de la classe, soit une instance qui n'est pas associée à une classe. |
| objet | cart100 | Un objet nommé cart100. Cet objet est soit une instance qui masque le nom de la classe, soit une instance qui n'est pas associée à une classe. |
| /rôle | /storage | Une instance anonyme joue le rôle de stockage. Cet objet est soit une instance qui masque le nom de l'objet et de la classe, soit une instance qui n'est pas associée à un objet ou une classe. |
| :classe | :cart | Une instance anonyme de la classe Customer. |
Le tableau suivant répertorie les trois types d'objets.
| Types d'objets | Description |
|---|---|
| Actif | Un objet actif appartient à une unité d'exécution de contrôle et peut initier une activité de contrôle. Les processus et tâches sont des types d'objet actif. |
| Passif | Un objet passif contient des données mais n'initie pas de contrôle. |
| Instance multiple | Il s'agit d'un ensemble d'objets ou de plusieurs instances d'une même classe. Les instances multiples sont généralement utilisées pour indiquer qu'un ensemble d'objets interagit avec un seul message (ou stimulus). |