aula sobre programação orientada a objetos em java
Upload: iftm-instituto-federal-de-educacao-ciencia-e-tecnologia-do-triangulo-mineiro
Post on 25-Jul-2015
107 views
TRANSCRIPT
![Page 1: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/1.jpg)
Programação Orientada a
Objetos
Professor Eng. Ms. Will Roger Pereira
1
![Page 2: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/2.jpg)
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
![Page 3: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/3.jpg)
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
![Page 4: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/4.jpg)
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
![Page 5: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/5.jpg)
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
![Page 6: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/6.jpg)
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
![Page 7: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/7.jpg)
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
![Page 8: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/8.jpg)
Composição: Multiplicidade 0..1
Programando classe Item
8
![Page 9: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/9.jpg)
Composição: Multiplicidade 0..1
Programando classe Pedido:
Sem Composição
9
![Page 10: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/10.jpg)
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
10 Continua
![Page 11: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/11.jpg)
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
11
Continuação Pedido
Continua
![Page 12: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/12.jpg)
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
12
Continuação Pedido
![Page 13: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/13.jpg)
Composição: Multiplicidade 0..1
Classe Principal
13
![Page 14: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/14.jpg)
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
![Page 15: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/15.jpg)
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
![Page 16: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/16.jpg)
Composição: Multiplicidade 1
Programando classe Item
16
![Page 17: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/17.jpg)
Composição: Multiplicidade 1
Programando classe Pedido:
Sem Composição
17
![Page 18: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/18.jpg)
Composição: Multiplicidade 1
Programando classe Pedido:
Adicionando Composição
18
![Page 19: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/19.jpg)
Composição: Multiplicidade 1
Classe Principal
19
![Page 20: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/20.jpg)
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
![Page 21: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/21.jpg)
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
![Page 22: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/22.jpg)
Composição: Multiplicidade 0..N
Programando classe Item
22
![Page 23: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/23.jpg)
Composição: Multiplicidade 0..N
Programando classe Pedido:
Sem Composição
23
![Page 24: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/24.jpg)
Composição: Multiplicidade 0..N
Programando classe Pedido:
Adicionando Composição
24
![Page 25: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/25.jpg)
Composição: Multiplicidade 0..N
Classe Principal
25
![Page 26: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/26.jpg)
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
![Page 27: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/27.jpg)
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
![Page 28: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/28.jpg)
Composição: Multiplicidade 0..*
Programando classe Item
28
![Page 29: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/29.jpg)
Composição: Multiplicidade 0..*
Programando classe Pedido:
Sem Composição
29
![Page 30: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/30.jpg)
Composição: Multiplicidade 0..*
Programando classe Pedido:
Adicionando Composição
30
![Page 31: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/31.jpg)
Composição: Multiplicidade 0..*
Classe Principal
31
![Page 32: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/32.jpg)
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
![Page 33: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/33.jpg)
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
![Page 34: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/34.jpg)
Composição: Multiplicidade 1..*
Programando classe Item
34
![Page 35: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/35.jpg)
Composição: Multiplicidade 1..*
Programando classe Pedido:
Sem Composição
35
![Page 36: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/36.jpg)
Composição: Multiplicidade 1..*
Programando classe Pedido:
Adicionando Composição
36
![Page 37: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/37.jpg)
Composição: Multiplicidade 1..*
Classe Principal
37
![Page 38: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/38.jpg)
Composição: Multiplicidade 1..*
Classe Principal
38
![Page 39: Aula sobre Programação Orientada a Objetos em Java](https://reader034.vdocuments.mx/reader034/viewer/2022042818/55b286b5bb61eb113a8b45c0/html5/thumbnails/39.jpg)
Agregação x Composição
39