Aula sobre Programação Orientada a Objetos em Java

497 visualizações

Publicada em

programação orientada a objetos 2015

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
497
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula sobre Programação Orientada a Objetos em Java

  1. 1. Programação Orientada a Objetos Professor Eng. Ms. Will Roger Pereira 1
  2. 2. Objetivos da Aula  Relacionamentos interclasse: Composição;  Composição: Multiplicidade 0..1;  Composição: Multiplicidade 1;  Composição: Multiplicidade 0..N;  Composição: Multiplicidade 0..*;  Composição: Multiplicidade 1..*. 2
  3. 3. Composição  Indicada para representar um relacionamento entre “parte” e “todo”, onde o “todo” é formado por partes:  Este relacionamento é caracterizado pela parte poder existir somente compondo o todo, ou seja, a parte deve ser criada dentro do vínculo;  A Parte não precisa saber a qual Todo ela está agregando. 3
  4. 4. Composição  É a relação mais forte existente;  A classe que compõe (parte) possui o mesmo tempo de vida da classe composta (todo);  Se a classe composta morrer, suas partes também morrerão;  Ex: Um pedido e um item. Um pedido é composto por itens. Um item faz parte de um pedido, porém não existe fora do universo do pedido. Caso o pedido seja encerrado ou deixe de existir, o item do pedido não existirá mais. 4
  5. 5. Composição  Naturalmente, a estrutura de dados utilizada, bem como o local do vínculo dependerão da multiplicidade;  Partes que compõem um todo não estarão criadas antes. Sua referência será conhecida somente dentro do todo;  Os argumentos/parâmetros de métodos e/ou construtores que realizarão o vínculo serão os atributos da parte. Crie o objeto da classe parte dentro destas estruturas;  Assim sendo, a única entidade que vai conhecer a referência da parte, quando vinculada, é o todo. 5
  6. 6. Composição: Multiplicidade 0..1  Na multiplicidade 0..1, o “todo” pode nascer sem possuir nenhuma parte;  Ao longo de seu ciclo de vida, uma “parte” pode compor o “todo”, com o “todo” sabendo qual “parte” estará se relacionando com ele;  É de responsabilidade do desenvolvedor prover métodos para vínculo, substituição e/ou remoção da parte. 6
  7. 7. Composição: Multiplicidade 0..1  Um Item compõe um Pedido;  O Pedido pode ter 0 ou 1 Item;  O vínculo se dará no método addItem;  Primeiro programe as partes, depois o relacionamento;  Crie o Item somente dentro do método de vínculo. 7
  8. 8. Composição: Multiplicidade 0..1 Programando classe Item 8
  9. 9. Composição: Multiplicidade 0..1 Programando classe Pedido: Sem Composição 9
  10. 10. Composição: Multiplicidade 0..1 Programando classe Pedido: Adicionando Composição 10Continua
  11. 11. Composição: Multiplicidade 0..1 Programando classe Pedido: Adicionando Composição 11 Continuação Pedido Continua
  12. 12. Composição: Multiplicidade 0..1 Programando classe Pedido: Adicionando Composição 12 Continuação Pedido
  13. 13. Composição: Multiplicidade 0..1 Classe Principal 13
  14. 14. Composição: Multiplicidade 1  Na multiplicidade 1, o “todo” DEVE nascer possuindo uma parte;  Assim sendo, neste caso, a “parte” deve ser criada no momento da criação do “todo”;  Ao longo de seu ciclo de vida, uma “parte” pode ser substituída, mas nunca removida;  É de responsabilidade do desenvolvedor prover métodos para substituição da parte. 14
  15. 15. Composição: Multiplicidade 1  Um Item compõe um Pedido;  O Pedido deve ter 1 Item;  O vínculo se dará no construtor;  Primeiro programe as partes, depois o relacionamento;  Crie o Item somente dentro do construtor do Pedido. 15
  16. 16. Composição: Multiplicidade 1 Programando classe Item 16
  17. 17. Composição: Multiplicidade 1 Programando classe Pedido: Sem Composição 17
  18. 18. Composição: Multiplicidade 1 Programando classe Pedido: Adicionando Composição 18
  19. 19. Composição: Multiplicidade 1 Classe Principal 19
  20. 20. Composição: Multiplicidade 0..N  Na multiplicidade 0..N, o “todo” pode nascer sem possuir nenhuma parte;  Ao longo de seu ciclo de vida, N “partes” podem compor o “todo”, com o “todo” sabendo quais “partes” estarão se relacionando com ele;  É DE RESPONSABILIDADE DO DESENVOLVEDOR A MANUTENÇÃO DA MULTIPLICIDADE NO VETOR;  É de responsabilidade do desenvolvedor prover métodos para vínculo, substituição e/ou remoção da parte. 20
  21. 21. Composição: Multiplicidade 0..N  Um Item compõe um Pedido;  O Pedido pode ter de 0 ou 5 Itens;  O vínculo se dará no método addItem;  Primeiro programe as partes, depois o relacionamento;  Crie o Item somente dentro do método de vínculo. 21
  22. 22. Composição: Multiplicidade 0..N Programando classe Item 22
  23. 23. Composição: Multiplicidade 0..N Programando classe Pedido: Sem Composição 23
  24. 24. Composição: Multiplicidade 0..N Programando classe Pedido: Adicionando Composição 24
  25. 25. Composição: Multiplicidade 0..N Classe Principal 25
  26. 26. Composição: Multiplicidade 0..*  Na multiplicidade 0..*, o “todo” pode nascer sem possuir nenhuma parte;  Ao longo de seu ciclo de vida, muitas “partes” podem compor o “todo”, com o “todo” sabendo quais “partes” estarão se relacionando com ele;  É DE RESPONSABILIDADE DO DESENVOLVEDOR A MANUTENÇÃO DA LISTA;  É de responsabilidade do desenvolvedor prover métodos para vínculo, substituição e/ou remoção da parte. 26
  27. 27. Composição: Multiplicidade 0..*  Um Item compõe um Pedido;  O Pedido pode ter muitos Itens;  O vínculo se dará no método addItem;  Primeiro programe as partes, depois o relacionamento;  Crie o Item somente dentro do método de vínculo. 27
  28. 28. Composição: Multiplicidade 0..* Programando classe Item 28
  29. 29. Composição: Multiplicidade 0..* Programando classe Pedido: Sem Composição 29
  30. 30. Composição: Multiplicidade 0..* Programando classe Pedido: Adicionando Composição 30
  31. 31. Composição: Multiplicidade 0..* Classe Principal 31
  32. 32. Composição: Multiplicidade 1..*  Na multiplicidade 1..*, o “todo” DEVE nascer possuindo uma parte;  Ao longo de seu ciclo de vida, muitas “partes” podem compor o “todo”, com o “todo” sabendo quais “partes” estarão se relacionando com ele;  É DE RESPONSABILIDADE DO DESENVOLVEDOR A MANUTENÇÃO DA LISTA;  É de responsabilidade do desenvolvedor prover métodos para vínculo, substituição e/ou remoção da parte. 32
  33. 33. Composição: Multiplicidade 1..*  Um Item compõe um Pedido;  O Pedido pode ter um ou mais Itens;  O vínculo se dará no construtor E no método addItem;  Primeiro programe as partes, depois o relacionamento;  Crie o Item somente dentro do construtor e método de vínculo. 33
  34. 34. Composição: Multiplicidade 1..* Programando classe Item 34
  35. 35. Composição: Multiplicidade 1..* Programando classe Pedido: Sem Composição 35
  36. 36. Composição: Multiplicidade 1..* Programando classe Pedido: Adicionando Composição 36
  37. 37. Composição: Multiplicidade 1..* Classe Principal 37
  38. 38. Composição: Multiplicidade 1..* Classe Principal 38
  39. 39. Agregação x Composição 39

×