Em modelos UML, os objetos são elementos do modelo que representam instâncias de uma classe ou classes. Você pode incluir objetos no modelo para representar instâncias concretas e prototípicas. Uma instância concreta representa uma pessoa ou coisa real no mundo verdadeiro. Por exemplo, uma instância concreta de uma classe Customer representa um cliente real. Uma instância prototípica de uma classe Customer contém dados que representam um cliente típico.
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). |