39
Programação Orientada a Objetos Professor Eng. Ms. Will Roger Pereira 1

Aula sobre Programação Orientada a Objetos em Java

Embed Size (px)

Citation preview

Page 1: Aula sobre Programação Orientada a Objetos em Java

Programação Orientada a

Objetos

Professor Eng. Ms. Will Roger Pereira

1

Page 2: Aula sobre Programação Orientada a Objetos em Java

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

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

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

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

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

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

Composição: Multiplicidade 0..1

Programando classe Item

8

Page 9: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..1

Programando classe Pedido:

Sem Composição

9

Page 10: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..1

Programando classe Pedido:

Adicionando Composição

10 Continua

Page 11: Aula sobre Programação Orientada a Objetos em Java

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

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

Composição: Multiplicidade 0..1

Classe Principal

13

Page 14: Aula sobre Programação Orientada a Objetos em Java

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

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

Composição: Multiplicidade 1

Programando classe Item

16

Page 17: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1

Programando classe Pedido:

Sem Composição

17

Page 18: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1

Programando classe Pedido:

Adicionando Composição

18

Page 19: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1

Classe Principal

19

Page 20: Aula sobre Programação Orientada a Objetos em Java

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

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

Composição: Multiplicidade 0..N

Programando classe Item

22

Page 23: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..N

Programando classe Pedido:

Sem Composição

23

Page 24: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..N

Programando classe Pedido:

Adicionando Composição

24

Page 25: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..N

Classe Principal

25

Page 26: Aula sobre Programação Orientada a Objetos em Java

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

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

Composição: Multiplicidade 0..*

Programando classe Item

28

Page 29: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..*

Programando classe Pedido:

Sem Composição

29

Page 30: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..*

Programando classe Pedido:

Adicionando Composição

30

Page 31: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 0..*

Classe Principal

31

Page 32: Aula sobre Programação Orientada a Objetos em Java

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

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

Composição: Multiplicidade 1..*

Programando classe Item

34

Page 35: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1..*

Programando classe Pedido:

Sem Composição

35

Page 36: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1..*

Programando classe Pedido:

Adicionando Composição

36

Page 37: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1..*

Classe Principal

37

Page 38: Aula sobre Programação Orientada a Objetos em Java

Composição: Multiplicidade 1..*

Classe Principal

38

Page 39: Aula sobre Programação Orientada a Objetos em Java

Agregação x Composição

39