Implementação Orientada a Objetos – Aula 07 Agregação e composição de objetos Prof. Danielle Martin Universidade de Mogi das Cruzes 2013-02.

Slides:



Advertisements
Apresentações semelhantes
Recursividade Inhaúma Neves Ferraz
Advertisements

Projeto de Sistemas de Software Trabalho de Padrões de Projeto
Orientação a Objetos: Modificador Final para Métodos e Classes
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Diagrama de Classes.
Capítulo 13 Pacotes. 2 Capítulo 13 – Pacotes Pacotes Pacote Cláusula package Cláusula import Executando uma classe de pacote Modificadores de acesso.
1 Aula 3 Listas e iteradores (cont.). 2003/2004 Programação Orientada para Objectos 2 ListaDeInt : interface class ListaDeInt { public: typedef int Item;
Aula 8 Polimorfismo.
1 Aula 7 Herança. 2003/2004 Programação Orientada para Objectos 2 Conceitos fundamentais: Herança Polimorfismo Ligação dinâmica.
2002/2003 Programação Orientada para Objectos 1 Aula 3 Utilização de listas Melhorando a implementação das listas e iteradores Reflexão sobre interfaces.
Aula 2 Listas e iteradores.
Classes e objetos Arrays e Sobrecarga
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Diagrama de Classes.
Curso de extensão em Desenvolvimento Web
Tipos Agregados Homogêneos e Listas
Programação Orientada a Objetos com Java
Classes Revisando: –Forma de implementação de estruturas específicas –Atributos (grupos de dados) –Métodos (conjuntos de procedimentos)
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Paradigmas da Programação – Semestre 1– Aula 5 Lab3
Interfaces.
Atributos, Encapsulamento e Interface em Java
Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real 
Wagner Santos C. de Jesus
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Implementação Orientada a Objetos – Aula 03
Paradigmas da Programação – Semestre 2 – Aula 13 Professor: Eduardo Mantovani Prof. Fábio de Paula Santos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Universidade Católica de Angola Prática de laboratório Fundamentos de Programação II Frei Joaquim José Hangalo.
2002/2003 Programação Orientada para Objectos 1 Aula 2 Noção de lista e de iterador Operações com listas e iteradores Classes embutidas.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Laboratório de Programação II Método Construtor Dados e Métodos de Objetos Prof Edivaldo - Network.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Herança Modelagem e Programação Orientada a Objetos
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Profa. Patrícia A. Jaques
Modificadores Programação II.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
2 – Revisão de Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Operador Condicional (? :). Operador Condicional Operador ternário que pode ser utilizado no lugar de uma instrução if...else.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Implementação Orientada a Objetos – Aula 01 Introdução à Orientação a Objetos Prof. Danielle Martin Universidade de Mogi das Cruzes
Associação. 2 Desafio – Aula class Aluno { 2. private String nome; 3. private float nota; 4. public Aluno(String nome, float nota){ 5. this.nome.
Laboratório de Programação II Método main Dados e Métodos de Classes.
Implementação Orientada a Objetos – Aula 09 Pacotes Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Diagrama de Classes Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
Noções de projeto orientado a objetos - camadas Prof. Gustavo Wagner (alterações) Prof. Tiago Massoni (Slides originais) Desenvolvimento de Sistemas FATEC-PB.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Persistência de dados e padrão DAO
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Implementação Orientada a Objetos – Aula 02 Introdução ao Java Prof. Danielle Martin Universidade de Mogi das Cruzes.
Transcrição da apresentação:

Implementação Orientada a Objetos – Aula 07 Agregação e composição de objetos Prof. Danielle Martin Universidade de Mogi das Cruzes

Agregação e Composição A agregação e a composição são tipos específicos de associações entre classes que representam um relacionamento parte-todo entre elas. Exemplos: Time é uma agregação de (mínimo 1, máximo N) Atletas. Objetos Atleta existem independente do Time. Pedido é uma composição de (mínimo 1, máximo N) ItensPedido. Objetos ItemPedido não existem se o Pedido deixar de existir.

Implementando Agregações e Composições Para implementar uma agregação ou composição, devemos acrescentar um atributo da classe a ser agregada na classe que contém o identificador da agregação. Ex: public class Pedido { private Date data; private Endereco enderecoEntrega; private ItemPedido[] itensPedido; public Pedido() { this.data = new Date(); } public Date getData() { return data; } public void setEnderecoEntrega(Endereco e) { this.enderecoEntrega = e; } public Endereco getEnderecoEntrega() { return enderecoEntrega; } public void setItensPedido(ItemPedido[] itens) { this.itensPedido = itens; } public ItemPedido[] getItensPedido() { return itensPedido; }

Implementando Agregações e Composições public class Aplicacao { public static void main(String[] args) { //Inicializa o array de itens ItemPedido[] itens = new ItemPedido[2]; //Cria o primeiro item ItemPedido objItem = new ItemPedido(); objItem.setCodigo(7); objItem.setValor(19.0); objItem.setQuantidade(1); itens[0] = objItem; //Cria o segundo item itens[1] = new ItemPedido(); itens[1].setCodigo(10); itens[1].setValor(33.5); itens[1].setQuantidade(5); //Cria o endereco Endereco end; end = new Endereco(); end.setRua("Rua das flores"); end.setNumero(50); //Cria o objeto Pedido Pedido p = new Pedido(); p.setEnderecoEntrega(end); p.setItensPedido(itens); //Imprime o endereco System.out.println("Sera entregue em: "); System.out.print(p.getEnderecoEntrega().getRua() + " "); System.out.println(p.getEnderecoEntrega().getNumero()); //Imprime todos os itens for (int i=0; i<p.getItensPedido().length; i++) { System.out.print(p.getItensPedido()[i].getCodigo() + " - "); System.out.print(p.getItensPedido()[i].getValor() + " - "); System.out.println(p.getItensPedido()[i].getQuantidade()); } A classe principal do nosso sistema pode criar objetos agregados e ler/alterar seus atributos utilizando os métodos gets e sets.