Programação de Computadores II TCC 00.174 Profs.: Leandro A. F. Fernandes (Turma A1) & Marcos Lage (Turma B1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage Conteúdo: Representação de dados usando agregados Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições do prof. Leandro A. F. Fernandes Arrays Unidimensionais Já vimos... Arrays de tipos nativos: int[] referencia = new int[1024]; Declaração da referência Definição do array Inicialização do array: explícita ou implícita (tipos nativos são inicializados com o valor padrão do tipo) referencia... 1024 inteiros 08/12/2012 Programação de Computadores II 2 1
Arrays Unidimensionais Já vimos... Declaração e Inicialização: 1) int[] arrayinteiros = new int[1024]; 2) int tamanho = 32768; byte[] arraybytes = new byte[tamanho]; 3) char[] alfabeto = { a, b, c, d, e, f, g, h, i, j, l, m, n, o, p, q, r, s, t, u, v, x, z }; 4) double[] temperatura; temperatura = new double[2*6*37]; double[] copia = temperatura; 08/12/2012 Programação de Computadores II 3 Arrays de objetos Arrays de (referências à) instâncias: Aluno[] turma = new Aluno[1024]; Declaração da referência Definição do array: Referências para instâncias 21 26 turma... 1024 inteiros 08/12/2012 Programação de Computadores II 4 2
Arrays de objetos Declaração e Inicialização: 1) Aluno[] arrayaluno = new Aluno[4]; 2) int tamanho = 5; Carro[] arraycarro = new Carro[tamanho]; Obs: Inicialização implícita (referências à instâncias de classes são inicializadas com o valor null) 08/12/2012 Programação de Computadores II 5 Arrays de objetos Declaração e Inicialização: turma[0] = new Aluno(,21); turma[1] = new Aluno (,26); turma[2] = turma[1]; turma 0 1 2 3...... null 08/12/2012 Programação de Computadores II 6 3
Arrays de objetos Polimorfismo: Aluno [] computacao; turma 0 1 2 3 computacao[0] = new Graduacao(,21,5.75); computacao[1] = new Pos(,26, Otimizacao ); computacao[2] = turma[1];...... null 08/12/2012 Programação de Computadores II 7 de tipos primitivos: int[][] planilha = new int[3][4]; Declaração da referência Definição da matriz de (referências à) instâncias: Aluno[][] turmas = new Aluno[5][30]; Declaração da referência Definição da Matriz: Referências para instâncias 08/12/2012 Programação de Computadores II 8 4
Declaração e Inicialização: Tipos primitivos 1) int[][] matrizinteiros = new int[1024][3]; 2) int tamanhoi = 32, tamanhoj = 7; byte[][] matrizbytes = new byte[tamanhoi][tamanhoj]; 3) char[][] alfabeto= { { a, b, c, d, e, f }, { g, h, i, j, l, m }, { n, o, p, q, r, s }, { t, u, v, x, z } }; Obs: Inicialização implícita e explícita. 08/12/2012 Programação de Computadores II 9 Declaração e Inicialização: Objetos 1) Aluno[][] matrizaluno = new Aluno[4][20]; 2) int nturmas= 5, nalunos = 30; Aluno[][] matrizaluno = new Aluno[nTurmas][nAlunos]; Obs: Inicialização implícita (referências à instâncias de classes são inicializadas com o valor null) 08/12/2012 Programação de Computadores II 10 5
: int[][] planilha = new int[3][2]; planilha: um array de 3 componentes. Cada componente é um array com dois inteiros. planilha 08/12/2012 Programação de Computadores II 11 : Aluno[][] turmas= new Aluno[3][30]; 21 turmas 26 null 08/12/2012 Programação de Computadores II 12 6
de tamanho irregular: Aluno[][] turmas= new Aluno[3][]; 21 turmas 26 null 08/12/2012 Programação de Computadores II 13 de tamanho irregular: Aluno[][] turmas= new Aluno[3][]; turmas[0]= new Aluno[15]; turmas[1]= new Aluno[22]; turmas[2]= new Aluno[50]; Inicialização: turma[0][0] = new Aluno(,21); turma[1][12] = new Aluno (,26); 08/12/2012 Programação de Computadores II 14 7
Exercício Sistema de Estoque Implementar o sistema de controle de estoque de uma loja. 1) O sistema pode trabalhar com objetos do tipo: Camisa, Calçado e Short. 2) Todos os produtos são subclasses da superclasse abstrata Produto. 3) O sistema deve permitir o cadastro (ordenado), a remoção e a consulta de produtos. Obs: 1) O sistema deve implementar uma interface Ordenável utilizada para ordenação dos produtos de acordo com o preço e uma interface Imprimível utilizada para a impressão dos dados de um produto selecionado. 2) Implemente uma exceção que trate o caso em que um produto sem preço seja inserido no sistema. 08/12/2012 Programação de Computadores II 15 8