Anda di halaman 1dari 1

Associao, agregao e composio

Douglas C. R. Paes
Introduo A orientao a objetos define que objetos podem se relacionar com outros para poder desempenhar suas tarefas, e a idia deste breve post explicar as diferenas entre alguns dos tipos de relacionamentos existentes, sendo estes associao, agregao e composio.

Associao Em anlise e projeto orientado objetos, uma associao representa um relacionamento entre objetos. Por exemplo, vrios alunos podem estar associados um nico professor e um nico aluno pode estar associado vrios professores. Neste caso, no existe um relacionamento de posse entre esses objetos. Todos os objetos so independentes. Um aluno pode existir sem a necessidade de um professor, da mesma forma que possvel existir um professor sem a necessidade da existncia de um aluno.

Agregao e Composio Agregao e composio so tipos especiais de associaes. Uma agregao representa um todo que composto de vrias partes. Exemplo: um conselho um agregado de membros, da mesma forma que uma reunio um agregado de uma pauta, uma sala e de participantes. A implementao deste relacionamento no uma conteno, pois uma reunio no CONTM uma sala. Assim sendo, as partes da agregao podem fazer outras coisas em outras partes da aplicao, eles podem ser referenciados por outros objetos e no somente por um objeto. Em outras palavras, na implementao no h diferena entre agregao e um simples relacionamento uses. Nos dois casos, um objeto tem referncias para outros objetos. Em UML, a agregao representada por uma linha com um losango vazio do lado da classe que manda no relacionamento, como nas figuras abaixo.

A composio, diferentemente da agregao, um relacionamento de conteno. Um objeto (container) CONTM outros objetos (elementos). Esses elementos que esto contidos dentro de outro objeto dependem dele para existir. Eles so criados e destrudos de acordo com o seu container. Um exemplo de container poderia ser uma nota fiscal, e seus elementos seriam seus itens. No faz sentido existirem itens de nota fiscal sem existir uma nota fiscal onde tais itens estariam contidos. Eles s existem se existir uma nota fiscal da qual eles fazem parte. Se a nota fiscal destruda, todos os seus itens tambm so, o que no acontece com a agregao, onde, se uma reunio destruda, seus participantes continuam existindo, pois podem participar de outras reunies. A composio, na UML, representada por uma linha com um losango preenchido do lado da classe dona do relacionamento, conforme mostrado na figura a seguir.