segunda-feira, 7 de julho de 2008

Conceitos da Orientação a Objetos com UML, parte 3

Neste terceiro post, iremos explorar os relacionamentos entre objetos e classes.

Associação

A associação é um relacionamento entre classes ou objetos. As associações são modeladas com base nas relações reais dos objetos e identificam quais objetos se comunicam entre si.

O diagrama a seguir apresenta uma associação entre duas classes.

Uma associação possui uma série de ítens de modelagem, entre eles:

  • Rótulo: Texto de poucas palavras (em geral uma ou duas) que descreve a associação
  • Direção: Uma ou duas setas que indicam o sentido de navegação. Uma única seta indica uma associação unidirecional. Duas setas (ou a omissão de ambas) indicam uma associação bidirecional
  • Cardinalidade: Indicada nas extremidades da associação, informa as multiplicidades da relação. Opções:
    0..1 - zero ou um (relação opcional)
    1  - apenas um (relação obrigatória)
    0..* - zero ou mais
    1..* - um ou mais
    n  - apenas n
    0..n - zero a n
    1..n - 1 a n
    

Agregação

A agregação é uma relação entre classes ou objetos, onde um é classificado como "parte" de outro. Ela representa uma relação onde um objeto é feito de outros objetos.

O diagrama a seguir apresenta uma relação de agregação.

Composição

É um tipo especial de agregação, mais forte, onde um objeto é totalmente responsável por suas partes. Além disso, uma "parte" pertence a apenas um objeto agregador.

Diagrama com exemplo de composição:

0 Comments: