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
24 Continua
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
32 Continua
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
Top Related