SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Programação Orientada a
Objetos
Professor Eng. Ms. Will Roger Pereira
1
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
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
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
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
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
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
Composição: Multiplicidade 0..1
Programando classe Item
8
Composição: Multiplicidade 0..1
Programando classe Pedido:
Sem Composição
9
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
10Continua
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
11
Continuação Pedido
Continua
Composição: Multiplicidade 0..1
Programando classe Pedido:
Adicionando Composição
12
Continuação Pedido
Composição: Multiplicidade 0..1
Classe Principal
13
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
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
Composição: Multiplicidade 1
Programando classe Item
16
Composição: Multiplicidade 1
Programando classe Pedido:
Sem Composição
17
Composição: Multiplicidade 1
Programando classe Pedido:
Adicionando Composição
18
Composição: Multiplicidade 1
Classe Principal
19
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
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
Composição: Multiplicidade 0..N
Programando classe Item
22
Composição: Multiplicidade 0..N
Programando classe Pedido:
Sem Composição
23
Composição: Multiplicidade 0..N
Programando classe Pedido:
Adicionando Composição
24
Composição: Multiplicidade 0..N
Classe Principal
25
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
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
Composição: Multiplicidade 0..*
Programando classe Item
28
Composição: Multiplicidade 0..*
Programando classe Pedido:
Sem Composição
29
Composição: Multiplicidade 0..*
Programando classe Pedido:
Adicionando Composição
30
Composição: Multiplicidade 0..*
Classe Principal
31
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
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
Composição: Multiplicidade 1..*
Programando classe Item
34
Composição: Multiplicidade 1..*
Programando classe Pedido:
Sem Composição
35
Composição: Multiplicidade 1..*
Programando classe Pedido:
Adicionando Composição
36
Composição: Multiplicidade 1..*
Classe Principal
37
Composição: Multiplicidade 1..*
Classe Principal
38
Agregação x Composição
39

Weitere ähnliche Inhalte

Mehr von Aparicio Junior

Mehr von Aparicio Junior (20)

HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Banco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internasBanco de Dados - Junções Externas e internas
Banco de Dados - Junções Externas e internas
 
Lista 2 5
Lista 2 5Lista 2 5
Lista 2 5
 
Lista 2 4
Lista 2 4Lista 2 4
Lista 2 4
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Tutorial instalacão java
Tutorial instalacão javaTutorial instalacão java
Tutorial instalacão java
 
Lista1 3 java
Lista1 3 javaLista1 3 java
Lista1 3 java
 
Lista 2 2 java
Lista 2 2 javaLista 2 2 java
Lista 2 2 java
 
Lista 2 1 java
Lista 2 1 javaLista 2 1 java
Lista 2 1 java
 
Lista 1 9 java
Lista 1 9 javaLista 1 9 java
Lista 1 9 java
 
Lista 1 8 java
Lista 1 8 javaLista 1 8 java
Lista 1 8 java
 
Lista 1 7 java
Lista 1 7 javaLista 1 7 java
Lista 1 7 java
 
Lista 1 6 java
Lista 1 6 javaLista 1 6 java
Lista 1 6 java
 
Lista 1 5 java
Lista 1 5 javaLista 1 5 java
Lista 1 5 java
 
Lista 1 4 java
Lista 1 4 javaLista 1 4 java
Lista 1 4 java
 
Lista 1 3 java
Lista 1 3 javaLista 1 3 java
Lista 1 3 java
 
Lista 1 2 java
Lista 1 2 javaLista 1 2 java
Lista 1 2 java
 
Códigos poo java
Códigos poo javaCódigos poo java
Códigos poo java
 
Aula 2 2
Aula 2 2 Aula 2 2
Aula 2 2
 
Aula 2 1
Aula 2 1Aula 2 1
Aula 2 1
 

Kürzlich hochgeladen

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 

Kürzlich hochgeladen (20)

Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 

Aula sobre Programação Orientada a Objetos em Java