Linguagem de Programação II Relacionamento entre classes

Documentos relacionados
Linguagem de Programação II Herança

Diagrama de Classes 2017

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Programação Orientada a Objetos Relacionamentos entre classes

Linguagem de Programação II Implementação

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

ASSOCIAÇÃO ENTRE CLASSES

Introdução à UML. Prof. Jesus José de Oliveira Neto

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Estrutura de Dados Funções e Procedimentos

AULA 11 PROGRAMAÇÃO ORIENTADA A OBJETOS (INTRODUÇÃO) Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Modelagem Orientada a Objetos com UML

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Diagrama de Classes. Diagrama mais. IMPORTANTE e UTILIZADO

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Prática interdisciplinar em desenvolvimento de software I

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

COMPORTAMENTOS - Observações

Herança - Conceitos Básicos

Project-Based Learning TADS MS Diagrama de Classes

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Programação Orientada a Objetos

Introdução a classes e objetos. Copyright 2006 by Pearson Education

UML - Linguagem de Modelagem Unificada

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz

Classes, Métodos e Propriedades

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Programação Orientada a Objetos JAVA - NETBEANS

AULA 15 CONSTRUTORES. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Java para Desktop. Programação Orientada à Objetos 2 JSE

Análise de Sistemas 4º Bimestre (material 3)

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Linguagem de Programação. Diagrama de classes

Programação Orientada a Objetos

UML - Diagrama de Classes

Namespaces, Classes e Métodos.

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

TIC - Programação Visual

Linguagem de Modelagem Unificada UML

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Herança - Conceitos Básicos

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

PROGRAMAÇÃO ORIENTADA A

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Java Standard Edition (JSE)

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

Programação Java (nível intermediário) 4. Polimorfismo

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

UML Diagrama de Classes

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Linguagem de Montagem. Objetos e classes. Métodos e parâmetros. Linguagem de Montagem. Profs. Marcelo Nogueira / Fábio Amaral 1

Linguagem Algorítmica OO. Linguagem Algorítmica

Linguagem de Programação I. Orientação a Objetos em Java

Objetos e classes. Linguagem de Montagem. Métodos e parâmetros. Outras observações. Valores de retorno. Código-fonte. Linguagem de Montagem CC/SI 1

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Sintaxe da linguagem Java

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

Nome: Número: Segunda Parte (3 valores) Primeira Parte (7 valores)

Implementando um Projeto. Programação em Java. Do Projeto para Implementação. Classe Pública em Java. Corpo de Classes e Métodos. Convenção de Nomes

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Lição 4 Fundamentos da programação

Programação Orientada a Objeto

ORIENTAÇÃO A OBJETOS Histórico:

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Análise e projeto de sistemas

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

1 Introdução e Conceitos básicos

Orientação a Objetos e Java

Quando um Auto-Relacionamento não é mais um Auto-Relacionamento

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

Conceitos de Programação Orientada a Objetos

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

Java Standard Edition (JSE)

PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

Transcrição:

Linguagem de Programação II Relacionamento entre classes Prof. Alessandro Borges

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 Relacionamento entre Classes Associação É 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.

5 Relacionamento entre Classes Associação Exemplos Cliente Compra Produto ContaCorrente Possui HistoricoTransações

6 Associação Cardinalidade / Multiplicidade

7 Cardinalidade / Multiplicidade entre Classes 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 1..* 0..* Empresa Multiplicidade Multiplicidade

8 Cardinalidade / Multiplicidade entre Classes Exemplos: Cliente Faz 1 0..* Pedido

9 Cardinalidade / Multiplicidade entre Classes Exemplos: Cliente Faz 1 0..* Pedido 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.

10 Associação Conectividade

11 Conectividades entre Classes 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 Um para muitos 0..1 1 0..1 1 0..1 1 * 1..* 0..* * * Muitos para muitos 1..* 1..* 0..* 0..*

12 Conectividades entre Classes Exemplos: Empregado 1 0..1 Departamento Um para um Empregado 0..* 1 Departamento Um para muitos Empregado 0..* 1..* Departamento Muitos para muitos

13 Associação Tipos de Associação

14 Tipos de Associação Associação Binária Associações entre duas classes Mais comum Exemplo:

15 Tipos de Associação Associação Unária (ou Reflexiva) Ocorre quando uma classe relaciona com si mesmo. Exemplo:

16 Associação Exemplos de Associação em Java

17 Associação um para um em Java Pessoa 0..1 Possui 0..1 Endereco Pessoa.java public class Pessoa{ private Endereco endereco = new Endereco(); Endereco.java public class Endereco{ private Pessoa pessoa = new Pessoa();

18 Associação um para muitos em Java Pessoa 0..1 Possui 1..5 Endereco Pessoa.java public class Pessoa{ private Endereco[] enderecos = new Endereco[5]; Endereco.java public class Endereco{ private Pessoa pessoa = new Pessoa();

19 Associação um para muitos em Java Pessoa 0..1 Possui 1..* Endereco Pessoa.java public class Pessoa{ private ArrayList<Endereco> enderecos = new ArrayList<Endereco>(); Endereco.java public class Endereco{ private Pessoa pessoa = new Pessoa();

20 Associação muitos para muitos em Java Pessoa Possui 1..2 1..5 Endereco Pessoa.java public class Pessoa{ private Endereco[] enderecos = new Endereco[5]; Endereco.java public class Endereco{ private Pessoa[] pessoas = new Pessoa[2];

21 Associação muitos para muitos em Java Pessoa Pessoa.java 1..* Possui 0..* Endereco public class Pessoa{ private ArrayList<Endereco> enderecos = new ArrayList<Endereco>(); Endereco.java 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 Objeto Carro Objeto Motor Método Andar() Método Ligar() Para que o Carro ande é necessário que o Motor esteja ligado!!!

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 Motor - potencia: String - combustivel: String - ligado: Boolean + Motor() + GETs() + SETs() + Ligar() + Deligar() Carro - modelo: String - marca: String - motor: Motor + Carro() + GETs() + SETs() + Andar() + Parar()

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... );

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... ); Executa o Método Ligar da Classe Motor Executa o Método Desligar da Classe Motor

Linguagem de Programação II Relacionamento entre classes Prof. Alessandro Borges