programação orientada a objetos relacionamento entre ...santanch/teaching/oop/... ·...
TRANSCRIPT
![Page 1: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/1.jpg)
Programação Orientada a Objetos
Relacionamento entre Classes e Agregação
André SantanchèInstitute of Computing – UNICAMP
Abril 2015
Pic
ture
by
htt
p:/
/ww
w.f
lickr
.co
m/p
ho
tos/
cro
uch
y69,
201
0
![Page 2: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/2.jpg)
OO: Relacionamento
![Page 3: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/3.jpg)
PessoaLivro
escreve
OO: Relacionamento
▪ Associação entre objetos
▪ Atributo de um objeto que se refere a outro
▫ Atributo definido na classe
![Page 4: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/4.jpg)
UML: Relacionamento
Pessoa Livroescreve
Livro Categoriapertence
![Page 5: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/5.jpg)
UML: Relacionamento Direcionado
Livro Categoriapertence
![Page 6: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/6.jpg)
UML: Auto-relacionamento
Categoria
subordinada
![Page 7: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/7.jpg)
UML: Papéis
Pessoa Livroescreve
+autor +obra
Categoria
subordinada
+super-categoria
+subcategoria
![Page 8: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/8.jpg)
ER: Cardinalidade no Relacionamento
▪ Restrições que limitam a possibilidade de combinações de entidades em relacionamentos
▪ Cardinalidade:
▫ Máxima
▫ Mínima
![Page 9: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/9.jpg)
Razão de Cardinalidade
![Page 10: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/10.jpg)
Razão de Cardinalidade
▪ É expressa a razão (ou proporção) de participação em um relacionamento.
▪ Transcrição gráfica das proporções: 1:1, 1:N, N:1 e N:N
![Page 11: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/11.jpg)
UML: Cardinalidade MáximaPessoa Livro
escreve
* *
Estante Livroguarda
1 *
Categoria
subordinada
+super-categoria
+subcategoria1
*
![Page 12: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/12.jpg)
UML: Cardinalidade Mínima
Pessoa Armárioocupa
1..* 0..*
Estante Livroescreve
0..1 0..1
![Page 13: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/13.jpg)
Agregação
![Page 14: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/14.jpg)
UML: Agregação
▪ Uma classe agrega outra (não exclusivamente)
Estante Livroguarda
![Page 15: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/15.jpg)
UML: Composição
▪ Relação existencial (exclusiva) entre a parte e o todo
Livro Capítulotem
![Page 16: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/16.jpg)
(Rubira, 2011)
![Page 17: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/17.jpg)
(Rubira, 2011)
![Page 18: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/18.jpg)
(Rubira, 2011)
![Page 19: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/19.jpg)
Exemplo Bastião
![Page 20: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/20.jpg)
Referências
▪ Rubira, Cecília Mary Fischer (2011). Introdução à Programação Orientada a Objetos Usando Java. Slides de aula, IC – Unicamp.
![Page 21: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/21.jpg)
André Santanchèhttp://www.ic.unicamp.br/~santanche
![Page 22: Programação Orientada a Objetos Relacionamento entre ...santanch/teaching/oop/... · Programação Orientada a Objetos Relacionamento entre Classes e Agregação André Santanchè](https://reader035.vdocuments.mx/reader035/viewer/2022062505/5ee17d3cad6a402d666c5a9c/html5/thumbnails/22.jpg)
License▪ These slides are shared under a Creative Commons License.
Under the following conditions: Attribution, Noncommercial and Share Alike.
▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/