• Nenhum resultado encontrado

Linguagem de Programação II Relacionamento entre classes

N/A
N/A
Protected

Academic year: 2021

Share "Linguagem de Programação II Relacionamento entre classes"

Copied!
34
0
0

Texto

(1)

Linguagem de Programação II

Relacionamento entre classes

(2)

Tópicos

Relacionamento entre Classes

Associação

Definição

Cardinalidade / Multiplicidade

Conectividade

Tipos de Associação

Exemplos de Associação em Java

Mensagens

Definição

Representação Gráfica – Diagrama de Classes

Exemplos

(3)

Associação

Definição

(4)

É uma conexão entre classes.

Os objetos de uma classe estão ligados a objetos de

outras classes

pode haver troca de informações (mensagens) e

compartilhamento de métodos.

Ocorre normalmente

entre duas classes (binária),

entre uma classe com ela mesma (unária) e

entre várias classes (ternária/N-ária).

“Equivale” aos relacionamentos E-R.

Relacionamento entre Classes –

Associação

(5)

Exemplos

Cliente

Produto

ContaCorrente

HistoricoTransações

Compra

Possui

Relacionamento entre Classes –

Associação

(6)

Associação

Cardinalidade / Multiplicidade

(7)

Consiste na quantidade mínima e máxima de objetos que podem ser

conectados pela instância de uma associação.

Exemplo:

Pessoa

Trabalha na

Empresa

1..*

0..*

Multiplicidade

Multiplicidade

Cardinalidade / Multiplicidade entre

Classes

(8)

Exemplos:

Cliente

Pedido

1

0..*

Cardinalidade / Multiplicidade entre

Classes

8

(9)

Exemplos:

Pode haver um cliente que esteja associado a vários pedidos.

Pode haver um cliente que não esteja associado a pedido algum.

Um pedido está associado a um, e somente um, cliente.

Cliente

Pedido

1

0..*

Cardinalidade / Multiplicidade entre

Classes

9

(10)

Associação

Conectividade

(11)

Corresponde ao tipo de associação

existentes entre classes:

 “muitos para muitos”, “um para muitos” e “um para um”.

Conectividade

Em um Extremo

No outro Extremo

Um para um

0..1

1

0..1

1

Um para muitos

0..1

1

*

1..*

0..*

Muitos para muitos

*

1..*

0..*

*

1..*

0..*

Conectividades entre Classes

(12)

Exemplos:

Empregado

Departamento

1

0..1

Um para um

Empregado

Departamento

0..*

1

Um para muitos

Empregado

Departamento

0..*

1..*

Muitos para muitos

Conectividades entre Classes

(13)

Associação

Tipos de Associação

(14)

Associação Binária

Associações entre duas classes

Mais comum

Exemplo:

Tipos de Associação

(15)

Associação Unária (ou Reflexiva)

Ocorre quando uma classe relaciona com si mesmo.

Exemplo:

Tipos de Associação

(16)

Associação

Exemplos de Associação em Java

(17)

Pessoa.java

Endereco.java

Pessoa

Possui

Endereco

0..1

Associação “um para um” em Java

17

public

class

Pessoa{

private

Endereco

endereco

=

new

Endereco()

;

}

public

class

Endereco{

private

Pessoa

pessoa

= new

Pessoa()

;

}

(18)

Pessoa.java

Endereco.java

Pessoa

Possui

Endereco

1..5

Associação “um para muitos” em Java

18

0..1

public

class

Pessoa{

private

Endereco[]

enderecos

=

new

Endereco[5]

;

}

public

class

Endereco{

private

Pessoa

pessoa

= new

Pessoa()

;

}

(19)

Pessoa.java

Endereco.java

Pessoa

Possui

Endereco

1..*

Associação “um para muitos” em Java

19

public

class

Pessoa{

private ArrayList

<Endereco>

enderecos

=

new

ArrayList

<Endereco>

();

}

public

class

Endereco{

private

Pessoa

pessoa

= new

Pessoa()

;

}

(20)

Pessoa.java

Endereco.java

Associação “muitos para muitos” em

Java

20

public

class

Pessoa{

private

Endereco[]

enderecos

=

new

Endereco[5]

;

}

public

class

Endereco{

private

Pessoa[]

pessoas

= new

Pessoa[2]

;

}

Pessoa

Possui

Endereco

1..5

1..2

(21)

Pessoa.java

Endereco.java

Pessoa

Possui

Endereco

0..*

Associação “muitos para muitos” em

Java

21

public

class

Pessoa{

private ArrayList

<Endereco>

enderecos

=

new

ArrayList

<Endereco>

();

}

public

class

Endereco{

private ArrayList

<Pessoa>

pessoas

=

new ArrayList

<Pessoa>

();

}

(22)

Associação

Exercícios

(23)

Exercício

Escreva um programa em Java que implemente o Diagrama de

Classes da UML apresentado abaixo.

(24)

Exercício

Altere as classes do exercício considerando o Diagrama de

Classes abaixo.

(25)

Mensagem entre classes

Definição

(26)

Mensagem entre classes

Objetos de classes comunicam-se entre si através de

mensagens

26

Objeto Carro

Método Andar()

Objeto Motor

Método Ligar()

(27)

Mensagem entre classes

Uma

mensagem

especifica que um determinado

método de um objeto

precisa utilizar

um ou mais

métodos de outro objeto

Podem ser passados

objetos

como

parâmetros

e,

opcionalmente, algum

resultado

ou

valor

pode ser

retornado

A troca de mensagens acontece através dos métodos

(28)

Mensagem entre classes

Para enviar uma mensagem deve-se:

Identificar o objeto que receberá a mensagem

Identificar o método que o objeto deverá executar

Passar os argumentos requeridos pelo método

(29)

Mensagem entre Classes

Representação Gráfica

(30)

Representação Gráfica

Diagrama de Classes

30

Carro

- modelo: String

- marca: String

- motor: Motor

+ Carro()

+ GETs()

+ SETs()

+ Andar()

+ Parar()

Motor

- potencia: String

- combustivel: String

- ligado: Boolean

+ Motor()

+ GETs()

+ SETs()

+ Ligar()

+ Deligar()

(31)

Mensagem entre Classes

Exemplo

(32)

Representação Gráfica

Diagrama de Classes

public

class

Carro(){

private

String

modelo

;

private

Motor

motor

;

public

Carro(){

}

public

void

Andar()

{

motor

.

Ligar()

;

SOUT(

“Carro Andando...”

);

}

public

void

Parar()

{

motor

.

Desligar()

;

SOUT(

“Carro Parando...”

);

}

32

(33)

Representação Gráfica

Diagrama de Classes

public

class

Carro(){

private

String

modelo

;

private

Motor

motor

;

public

Carro(){

}

public

void

Andar()

{

motor

.

Ligar()

;

SOUT(

“Carro Andando...”

);

}

public

void

Parar()

{

motor

.

Desligar()

;

SOUT(

“Carro Parando...”

);

}

}

33

Executa o Método

‘Ligar’ da Classe ‘Motor’

Executa o Método

(34)

Linguagem de Programação II

Relacionamento entre classes

Referências

Documentos relacionados

Assim, a Requerida opera uma distinção entre o conceito material de implante e o de prótese, sendo o primeiro, o implante, uma mera peça, parte ou acessório, utilizada na

Relação TCP/IP e OSI OSI TCP/IP Aplicação Apresentação Sessão Transporte Rede Enlace Física Camada de Aplicação Camada de Transporte Camada Internet Camada da Interface de

Para o tratamento e análise de dados optou-se por um corte, considerando-se apenas um determinado produto, no caso o xampu, que fosse produzido e distribuído para grande

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

• Uma declara¸ c˜ ao de classe pode conter membros privados ( private ), protegidos ( protected ) e p´ ublicos ( public ). • private : membros declarados como privados somente s˜

Os nanomateriais sintetizados foram aplicados na fotocatálise de corantes orgânicos a modo de verificar a atividade fotocatalítica e a capacidade de adsorção de cada material. Para o

Os resultados obtidos nas comparações dos ní- veis de exigência e responsividade atribuídos a pais e mães seguiram um padrão já observado em outros estudos (Costa, Teixeira

Não existe cura para a DP, entretanto, intervenções podem melhorar os sintomas e diminuir a velocidade de destruição da doença, bem como proporcionar uma qualidade de