SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Programação Orientada a
Objetos
Professor Eng. Ms. Will Roger Pereira
1
Objetivos da Aula
 Relacionamentos interclasse: Agregação;
 Agregação: Multiplicidade 0..1;
 Agregação: Multiplicidade 1;
 Agregação: Multiplicidade 0..N;
 Agregação: Multiplicidade 0..*;
 Agregação: Multiplicidade 1..*.
2
Agregação
 Indicada para representar um relacionamento entre “parte” e
“todo”, onde o “todo” é formado por partes:
 Este relacionamento é caracterizado pela parte poder existir
sem o todo, ou seja, a parte deve existir antes que o
vínculo seja realizado;
 A Parte não precisa saber a qual Todo ela está agregando.
3
Agregação
 Para que a parte possa existir sem o todo, ela deve estar
criada antes de estar agregada ao todo;
 Sua referência deve ser conhecida em outra parte do
programa, de modo que, se o todo acabar, a parte continue
podendo ser referenciada;
 Ex: Um Teclado e um Computador. O Teclado pode fazer
parte de um Computador. Porém, deve existir antes de ser
ligado no Computador. Também, pode ser desligado de um
Computador para ser ligado a outro Computador. Se o
Computador for jogado fora, o Teclado pode ser
aproveitado. 4
Agregação
 Naturalmente, a estrutura de dados utilizada, bem como o
local do vínculo dependerão da multiplicidade;
 Porém, antes de se realizar a agregação da “parte” ao “todo”,
a “parte” já deve estar criada e sua referência deve ser
conhecida  Ex: No método main;
 O que será agregado(vinculado) ao objeto “todo” será a
referência que representa o objeto “parte”;
 Deste modo, esta referência será argumento/parâmetro de
métodos e/ou construtores.
5
Agregaçã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 agregar ao
“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
Agregação: Multiplicidade 0..1
 Um Teclado agrega a um Computador;
 O Computador pode ter 0 ou 1 Teclado;
 O vínculo se dará no método instalaTeclado;
 Primeiro programe as partes, depois o relacionamento;
 Crie o Teclado, para depois vincular ao Computador.
7
Agregação: Multiplicidade 0..1
Programando classe Teclado
8
Agregação: Multiplicidade 0..1
Programando classe Computador:
Sem agregação
9
Agregação: Multiplicidade 0..1
Programando classe Computador:
Adicionando Agregação
10
Continua
Agregação: Multiplicidade 0..1
Programando classe Computador:
Adicionando Agregação
11
Continua
Continuação Computador
Agregação: Multiplicidade 0..1
Programando classe Computador:
Adicionando Agregação
12
Continuação Computador
Agregação: Multiplicidade 0..1
Classe Principal
13
Agregação: Multiplicidade 1
 Na multiplicidade 1, o “todo” DEVE nascer possuindo uma
parte;
 Assim sendo, neste caso, a parte deve existir antes 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
Agregação: Multiplicidade 1
 Um Teclado agrega a um Computador;
 O Computador deve ter 1 Teclado;
 O vínculo se dará no construtor;
 Primeiro programe as partes, depois o relacionamento;
 Crie o Teclado antes de criar o Computador.
15
Agregação: Multiplicidade 1
Programando classe Teclado
16
Agregação: Multiplicidade 1
Programando classe Computador:
Sem agregação
17
Agregação: Multiplicidade 1
Programando classe Computador:
Adicionando Agregação
18
Agregação: Multiplicidade 1
Classe Principal
19
Agregaçã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 agregar ao
“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
Agregação: Multiplicidade 0..N
 Um Teclado agrega a um Computador;
 O Computador pode ter de 0 a 3 Teclados;
 O vínculo se dará no método addTeclado;
 Primeiro programe as partes, depois o relacionamento;
 Crie o Teclado, para depois vincular ao Computador.
21
Agregação: Multiplicidade 0..N
Programando classe Teclado
22
Agregação: Multiplicidade 0..N
Programando classe Computador:
Sem agregação
23
Agregação: Multiplicidade 0..N
Programando classe Computador:
Adicionando Agregação
24Continua
Agregação: Multiplicidade 0..N
Programando classe Computador:
Adicionando Agregação
25
Continua
Continuação Computador
Agregação: Multiplicidade 0..N
Programando classe Computador:
Adicionando Agregação
26
Continuação Computador
Agregação: Multiplicidade 0..N
Classe Principal
27
Agregação: Multiplicidade 0..*
 Na multiplicidade 0..*, o “todo” pode nascer sem possuir
nenhuma parte;
 Ao longo de seu ciclo de vida, muitas “partes” podem agregar
ao “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.
28
Agregação: Multiplicidade 0..*
 Um Teclado agrega a um Computador;
 O Computador pode ter muitos Teclados;
 O vínculo se dará no método addTeclado;
 Primeiro programe as partes, depois o relacionamento;
 Crie o Teclado, para depois vincular ao Computador.
29
Agregação: Multiplicidade 0..*
Programando classe Teclado
30
Agregação: Multiplicidade 0..*
Programando classe Computador:
Sem agregação
31
Agregação: Multiplicidade 0..*
Programando classe Computador:
Adicionando Agregação
32Continua
Agregação: Multiplicidade 0..*
Programando classe Computador:
Adicionando Agregação
33
Continuação Computador
Agregação: Multiplicidade 0..*
Classe Principal
34
Agregação: Multiplicidade 1..*
 Na multiplicidade 1..*, o “todo” DEVE nascer possuindo uma
parte;
 Ao longo de seu ciclo de vida, muitas “partes” podem agregar
ao “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.
35
Agregação: Multiplicidade 1..*
 Um Teclado agrega a um Computador;
 O Computador pode ter um ou mais Teclados;
 O vínculo se dará no construtor E no método addTeclado;
 Primeiro programe as partes, depois o relacionamento;
 Crie o Teclado, para depois vincular ao Computador.
36
Agregação: Multiplicidade 1..*
Programando classe Teclado
37
Agregação: Multiplicidade 1..*
Programando classe Computador:
Sem agregação
38
Agregação: Multiplicidade 1..*
Programando classe Computador:
Adicionando Agregação
39
Continua
Agregação: Multiplicidade 1..*
Programando classe Computador:
Adicionando Agregação
40
Continuação Computador
Continua
Agregação: Multiplicidade 1..*
Programando classe Computador:
Adicionando Agregação
41
Continuação Computador
Agregação: Multiplicidade 1..*
Classe Principal
42

Más contenido relacionado

Más de Aparicio Junior

Más de Aparicio Junior (20)

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
 
Aula 1 8
Aula 1 8Aula 1 8
Aula 1 8
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
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
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
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çã...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentaçã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...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 

Aula Programação Orientada a Objetos em Java