Uma classe representa uma abstração de um conceito ou de uma coisa física, enquanto um objeto representa uma entidade concreta. Um objeto possui um limite bem definido e é significativo no aplicativo. Os objetos possuem as características listadas na tabela a seguir:
| Característica | Descrição |
|---|---|
| Estado | O estado é a condição na qual um objeto pode existir. O estado de um objeto é implementado com um conjunto de atributos e normalmente se altera com o passar do tempo. |
| Comportamento | O comportamento determina como um objeto responde a pedidos de outros objetos. O comportamento é implementado por um conjunto de operações. |
| Identidade | A identidade de um objeto o torna exclusivo. Você pode utilizar a identidade exclusiva de um objeto para diferenciar entre múltiplas instâncias de uma classe se cada instância tiver o mesmo estado. |
Cada objeto deve possuir um nome exclusivo. Um nome completo de objeto possui três partes: nome do objeto, nome da função e nome da classe. Você pode utilizar qualquer combinação das partes quando nomear um objeto. A tabela a seguir mostra diversas variações de nomes de objetos para um sistema de compras on-line.
| Sintaxe | Exemplo | Descrição |
|---|---|---|
| object/role:class | cart100/storage:cart | Uma instância nomeada (cart100) da classe cart executa a função de armazenamento durante uma interação. |
| object:class | cart100:cart | Uma instância nomeada (cart100) da classe cart |
| /role:class | /storage:cart | Instância anônima da classe cart que executa a função de armazenamento em uma interação. |
| object/role | cart/storage | Um objeto nomeado cart que desempenha a função de armazenamento. Esse objeto é um objeto que oculta o nome da classe ou uma instância que não está associada a uma classe. |
| object | cart100 | Um objeto denominado cart100. Esse objeto é uma instância que oculta o nome da classe ou uma instância que não está associada a uma classe. |
| /role | /storage | Uma instância anônima executa a função de armazenamento. Esse objeto é uma instância que oculta o nome do objeto e da classe ou uma instância que não está associada a um objeto ou classe. |
| :class | :cart | Instância anônima da classe customer. |
A tabela a seguir lista os três tipos de objeto.
| Tipos de Objetos | Descrição |
|---|---|
| Ativo | Um objeto ativo possui um encadeamento de controle e pode iniciar a atividade de controle. Os processos e tarefas são tipos de objetos ativos. |
| Passivo | Um objeto passivo contém dados, mas não inicia o controle. |
| Instância múltipla | É uma coleção de objetos ou múltiplas instâncias da mesma classe. As múltiplas instâncias são normalmente utilizadas para mostrar que um conjunto de objetos interage com uma única mensagem (ou estímulo). |