Figura 1. Exemplo de Classe

Os símbolos menos (-) e mais (+) na frente dos atributos e métodos representam a visibilidade dos mesmos. A visibilidade é utilizada para indicar o nível de acessibilidade de um determinado atributo ou método, sendo representada à esquerda destes. A Tabela 1 mostra os quatro modos de visibilidade existentes: público, protegido, privado e pacote.

Visibilidade privada (-)

Significa que apenas os objetos da classe poderão enxergá-lo.

Visibilidade protegida (#)

Significa que, além dos objetos da classe, os métodos de suas subclasses também poderão enxergá-lo.

Visibilidade pública (+)

Significa que a classe pode ser utilizada por qualquer objeto.

Visibilidade pacote (~)

Significa que qualquer classe está visível para qualquer objeto dentro do pacote.

Tabela 1. Exemplos de visibilidade

A classe não precisa conter obrigatoriamente três divisões. Ela pode não conter atributos ou métodos. O nome da classe é obrigatório, e pode acontecer que nem os métodos nem os atributos precisem ser representados no diagrama. A classe apresentada na Figura 1 mostra uma classe sem parâmetros. Eles também não são obrigatórios. Em um diagrama de classes com muitas classes é possível que sejam apresentados apenas o nome dos métodos das classes, sem especificar os parâmetros que eles irão receber.

Associações

As associações são os relacionamentos entre as classes, que permitem que elas compartilhem informações entre si. Uma associação é representada por uma linha sólida conectando duas classes.

Uma associação unária ocorre quando existe um relacionamento de um objeto de uma classe com objetos da mesma classe. A Figura 2 mostra uma classe com o nome Funcionário. A linha intitulada Supervisiona atinge a própria classe. Isso ocorre porque um supervisor pode supervisionar vários funcionários e por sua vez ele também é funcionário da empresa, portanto, constitui uma instância da classe Funcionário.

Exemplo de associação unária

Figura 2. Exemplo de associação unária

A multiplicidade é representada pelo valor 0..*. Esse exemplo mostra que um funcionário pode ou não supervisionar outros funcionários, mas um funcionário tem um e apenas um funcionário como supervisor imediato. A Tabela 2 mostra os exemplos de multiplicidade.

...