Composição e Associação de Classes Parte 1

Olá pessoal  hoje vou falar um pouco sobre o assunto Composição e Associação de Classes  vão ser uma serie de 2 posts, na primeira parte o conceitual e na segunda exemplos em java, esse assunto que tem bastante gente que confunde hehe.

Características

As Associações têm acoplamento fraco

As composições têm acoplamento forte

As composições controlam o ciclo de vida do objeto que o compõe

Objetos em Associações são independentes um do outro se a ligação entre eles for quebrada eles continuam com suas respectivas funcionalidade, ou seja, fazem sentido.

Objetos em Composições são dependentes um do outro se a ligação entre eles for quebrada não tem sentido, eles não tem valor separados.

Composição e Associação podem ser divididas em quatro partes

Associação Direta – Geralmente é generalizada somente como Associação, seria o relacionamento “Tem um”.

Um navio “Tem um” Container

Representação UML

Mais se o relacionamento for quebrado um navio continua sendo um navio vazio normalmente e um container pode estar num armazém normalmente também, os objetos continuam tendo sentido.

Associação Composta – Geralmente é generalizada somente como Composição, seria o relacionamento “Composto por”, O objeto que é composto no caso o “Pneu” é responsável por gerenciar o ciclo de vida do objeto que o compõe “Pressão de ar do Pneu”.

Um Pneu “Composto por” Pressão do Ar do Pneu

Representação UML

Mais se o relacionamento for quebrado um Pneu sem pressão de ar não tem sentido muito menos a pressão de ar sem pneu, ou seja, os dois perdem o sentido, outra coisa a acrescentar é que destruindo um objeto pneu automaticamente O Objeto pressão de ar deve ser destruído, pois o pneu Gerencia o ciclo de vida do objeto “Pressão de ar do Pneu”.

Associação Agregada – Geralmente é generalizada somente como Associação, é o relacionamento “Faz Parte de”, ou seja, diz que um objeto faz parte de outro, assim como a “Associação Direta” eles são independentes um do outro mesmo quando o relacionamento é perdido, basicamente a “Associação Agregada” é a representação inversa da “Associação Direta”.

Um Radio “Faz Parte de” Carro

Representação UML

Associação Temporária – Também conhecida como dependência, essa associação é como a “Associação Direta” só que caracterizada por um objeto depender de outro de forma temporária provavelmente será um parâmetro de um método, um valor de retorno ou uma variável local.

Um Carro Depende da Chave “Temporariamente

Representação UML

Tabela Resumida


About these ads
5 comentários
  1. Thiago Marques disse:

    Parabéns o post ficou muito bem explicado, ajudou muito!

  2. Rafael da Silva disse:

    Olá Bruno,

    Boa tarde!

    Man, achei seu Blog no guj e me impressionei com dua idade e pelas suas certificações.

    Bem o motivo do meu post é o seguinte, pelo que vejo você não possui ensino superior, também pra que né?!

    Cara estou com uma dúvida monstruosa e preciso de uma opinião de alguém que já fez isso na prática com vc.

    Estou cursando atualmente Análise e Desenvolvimento de Sistemas 2 sem – Veris IBTA, em São José dos Campos. Trabalho a 3 meses com J2ME e um pouco de J2EE além de estudar horrores, não sabia NADA de Desenvolvimento, só entrei na área pq falo Inglês e Espanhol que é um diferencial. Percebi que estou apaixonado por desenvolvimento.

    Problema:Não tenho tempo de estudar, me aperfeiçoar, tirar certificação..etc.. pq tenho que estar preocupado com a bosta da monografia do meu TCM (Trabalho de Conclusão de Módulo), tipo tamanho das letras, tamanho do sumário, tudo de acordo com a ABNT, ou seja isso é importante e desenvolvimento não né??! Terei isso esse ano, ano que vem e o TCC (Trabalho de Conclusão de Curso). Não tenho tempo nem paciência pra ficar brincando de ser acadêmico, na verdade estou somente dizendo isso pq não é o que o Mercado de Trabalho exige, eles querem alguém que domine o assunto e resolva o problema.

    Dúvida: Na área é possível ser conceituado sem ensino superior, porém possuindo certificações como vc???

    Digo isso, pq penso em parar de fazer facul, tirar certificações JAVA, e depois de já certificado, ganhando mais, retorno e termino a facul que a princípio não ensina bosta nenhuma…

    Desculpe o desabafo, preciso de sua opinião!!!

    Abrcs!!

    • bdmstyle disse:

      Eai beleza?

      Cara eu me formo esse ano em sistemas de informação rs.
      Sobre a faculdade, a resposta é que tem que ter a formaçao superior mesmo que ela não signifique nada, é quase como o ter o colegial completo.
      Se quer tirar a certificação é so estudar, eu também nunca tive tempo mais estudava no trabalho,onibus,faculdade etc, voce vai evoluir muito como desenvolvedor.
      Sobre o TCC, tenta fazer em ultimo caso vc pode pagar alguém para fazer pra vc se não tiver afim de fazer por exemplo, não acho correto mais é uma opção.
      Se voce ja esta na faculdade, termina ela sem pressa, com a faculdade voce pode conseguir estagios em grandes empresas.

      • Rafael da Silva disse:

        Ok Bruno, eu sei, todos sabemos que faculdade realmente é crucial, em qualquer área, o que acontece é o seguinte, eles vendem o nome “Curso profissionalizante, faça-o e esteja pronto para o mercado de trabalho”, é ridículo, as empresas pedem vagam que exigem conhecimento….Eu tenho um professor que recruta a galera para o Facebook, e um monte de empresas do Vale do Sílicio…Imagine se vc esta louco para aprender, montar uma aplicação grande, ganha dinheiro, e seu professor chega na sala de aula e diz: Gente se alguém ai é desenvolvedor Senior e fala inglês me avise, pois estou selecionando pessoas para trabalhar no Facebook….É foda, mas tem q dar tempo ao tempo mesmo…..Essa idéia de pagar, não é ruim não….mas seu vou ter que fazer o TCC, já fiz coisa pior….Abraço..

        Rafael – Ilhabela – São Jose dos Campos

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 587 outros seguidores

%d blogueiros gostam disto: