Objetos não existem isolados



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

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Orientação a Objetos com Java

Introdução a Java. Hélder Nunes

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

UML Aspectos de projetos em Diagramas de classes

Orientação a Objetos

Portal Institucional do IFPB

UML Diagramas Estruturais Classes

Diagrama de classes. Ricardo Roberto de Lima UNIPÊ APS-I

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

ViajarFácil Sistema de Reserva de Viagens

Prof. Jhonatan Fernando

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

BPMN Business Process Modeling Notation

Análise e Projeto Orientados por Objetos

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

Renata Alves Campos (CoInfo) Sandra Maria Peron de Lima (DP) Março/2012

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

UML. Diagrama de Seqüência

Padrão Básico de Projeto: Herança versus Composição

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Unified Modeling Language UML - Notações

Reuso com Herança a e Composiçã

ÍNDICE. ERP ( Controle de Frotas ) 1 - Bens Móveis - Frota. 2 - Cadastros da Frota. 3 - Abastecimento de Bens. 4 - Cadastro de Bombas

Uma visão mais clara da UML Sumário

Modelagem Dinâmica com UML

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

UML: Diagrama de Classes

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

BANCO DE DADOS MODELAGEM ER GENERALIZAÇÃO / ESPECIALIZAÇÃO. Prof.: Jean Carlo Mendes carlomendes@yahoo.com.br

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Acessando a Plataforma de Rastreamento

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Lógica de Programação

09/09/2013. Roteiro. Aula 2 Revisão 2:Diagrama de Sequência. Diagrama de Sequência. Diagrama de Sequência. Biblioteca. Atributos

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Linguagem de Programação III

O Processo Unificado: Captura de requisitos

Quinta Lista de Exercícios -

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Engenharia de Requisitos Estudo de Caso

Disciplina: Unidade II: Prof.: Período:

Orientação a Objetos

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Análise e Projeto Orientados por Objetos

Casos de Uso - definições

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

A nova funcionalidade tem a finalidade de gerenciar o Plano de Cuidados de cada

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

LINX POSTOS AUTOSYSTEM

Engenharia de Software III

Implementando uma Classe e Criando Objetos a partir dela

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Modelagem Conceitual Exercício resolvido 02 Modelagem Conceitual

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Documentação da Ferramenta EMap Edimar Manica

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Passo a Passo do Cadastro Empresas no SIGLA Digital

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Moodle - CEAD Manual do Estudante

Manual do sistema SMARsa Web

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Roteiro do Programa e Entrada/Saída

Unified Modeling Language UML

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Manual de Administração

ACESSO REMOTO EM NUVEM Guia Rápido

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 20 PROFª BRUNO CALEGARO

Sumário. 1

Lógica e Programação Java

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Exercício Pizzaria Análise de Casos de Uso

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Conectar diferentes pesquisas na internet por um menu

Sistema de Rastreamento WEB. Manual do usuário AVANÇADO. para. empresas

Sumário. Uma visão mais clara da UML

Módulo Locação de Roupas

Técnicas de Programação II

Criar Pastas. Para acessar o seu webmail siga os próximos dois passos:

Backup dos Bancos de Dados Interbase

Profº. Enrique Pimentel Leite de Oliveira

Análise de Dados do Financeiro

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Levantamento, Análise e Gestão Requisitos. Aula 04

Transcrição:

Relacionamento Entre Objetos Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos

Introdução Objetos não existem isolados São formados por outros objetos Objetos usam outros objetos Um programa OO possui vários objetos que interagem entre si Modelagem define quais objetos usamos em um programa

Introdução Objetos possuem relacionamentos Composição Um objeto pode ser formado por outros objetos Casa, livro, jardim, agenda de contatos, etc Casa, livro, jardim, agenda de contatos, etc Agregação Um objeto pode conter outros objetos Carro (motor, pneu, porta) Associação Objetos podem usar outros objetos Trem usa estrada de ferro

Composição Um livro é composto de capítulos Capítulo é parte essencial de livro Se não existir capítulo, não existe livro Capítulo não existe fora de livro Linha com losângulopreenchido na classe dominante Livro é composto de 1 ou mais capítulos

Composição Os atributos são derivados dos relacionamentos. Não existem no diagrama public class Capitulo { private Livro livro; public class Livro { private Capitulo[] capitulos; public Livro(int qtdcapitulo){ capitulos = new Capitulo[qtdCapitulo]; /* Definição da classe Capítulo */ Referência pode ou não ser bidirecional. Capitulo não precisa ter o atributo livro

Agregação Carro possui Pneu, Motor e Porta Não são partes essenciais do carro Retirando as portas um carro continua sendo um carro Pneus/portas existem como objetos independentes Linha com losângulo vazio na classe dominante

Agregação public class Carro { private Motor motor; private Porta portas[]; private Pneu pneus[]; /*... */ public class Carro { Pode ser implementado de mais de uma forma private Motor motor; private Porta portas[]; private Pneu p1, p2, p3, p4; /*... */ public class Motor { /*...*/ public class Pneu{ /*... */ public class Porta{ /*... */

Associação Objetos que usam outros objetos Podem ser implementados como atributos public class Trem { private EstradaDeFerro estradadeferro; /*... */ public void definirestrada(estradadeferro estradadeferro){ this.estradadeferro = estradadeferro;

Observações Composição, Agregação e Associação Mesma forma de implementar Muda apenas o conceito Comportamento diferente Muito comum usar apenas notação da associação Sem o losângulo Composições e Agregações são tipos de associações Representam relacionamento tem um Carro tem uma roda Livro tem um capitulo Trem tem uma estrada de ferrro

Multiplicidade Indica quantidade de objetos referenciados Principais: A possui exatamente 1 B A possui vários B A possui 1 ou mais B A possui 0 ou 1 B

Nomes Pode-se especificar o nome do atributo Obrigar existência do atributo Carro tem um atributo privado motor do tipo Motor public class Carro { private Motor motor; /*... */

Nomes Coleções Atributos com multiplicidade * podem ser implementados de mais de uma forma Arrayé uma delas public class Livro { private Capitulo cap[];

Exercício 1 Desenvolver o seguinte relacionamento: Pessoavai ter um objeto do tipo Endereco Classes com construtores parametrizados

Exercício 2 Adicionar as seguintes classes ao relacionamento: Detalhes nos próximos Slides

Exercício 2 A Classe Compravai conter um objeto do tipo Pessoae outro do tipo Produto É possível comprar acessando o método comprar, passando como parâmetro dois objetos, um do tipo Pessoae outro do tipo Produto

Exercício 2 Desenvolva uma Classe de teste: Inicialmente, a classe deve criar 2 objetos do tipo Produto(crie os objetos com as informações que desejar) O usuário faz um cadastro (criando um objeto do tipo Pessoa) Logo após, o usuário seleciona entre os 2 produtos cadastrados anteriormente Dependendo da escolha, é acessado o método comprar da classe Compra, e passado como parâmetro o objeto Pessoaque ele cadastrou e o do Produto escolhido Logo após, é exibido no console ao usuário uma mensagem de confirmação, exibindo o nome dele e do produto comprado (acesso ao método verificarcompra()) e finaliza a aplicação

Trabalho de Pesquisa Pesquisar qual a finalidade, como utilizar e quais as principais diferenças entre as seguintes Classes: ArrayList Vector HashMap