1 / 10

Programação I Aula 11 (Arrays de Objetos)

Programação I Aula 11 (Arrays de Objetos). Prof. Gilberto Irajá Müller. Última atualização 27/5/2009. Arrays de Objetos. Um array pode conter referências a um conjunto de objetos. Ex.: Funcionario f[] = new Funcionario[3];

Download Presentation

Programação I Aula 11 (Arrays de Objetos)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação IAula 11(Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009

  2. Arrays de Objetos • Um array pode conter referências a um conjunto de objetos. • Ex.: • Funcionario f[] = new Funcionario[3]; • Será criado um novo objeto array de nome f, cujos elementos são variáveis objeto, ou seja, referências para objetos do tipo Funcionario

  3. Arrays de Objetos • Para termos realmente algum funcionário apontado por algum elemento do array, teremos de criar um objeto funcionário e vinculá-lo a uma das variáveis objeto do array. • Ex: • f[0] = new Funcionario(“Ruy Cabeção”, 4320.00, 1); • f[1] = new Funcionario(“Tcheco”, 5000.00, 2); • f[2] = new Funcionario (“Jonas", 1234.00, 0);

  4. nome: Ruy Cabeção salario: 4320.0 numeroDeDependentes: 1 Funcionario nome: Tcheco salario: 5000.0 numeroDeDependentes: 2 Funcionario nome: Jonas salario: 1234.0 numeroDeDependentes: 0 Funcionario Arrays de Objetos • O que teremos em memória?

  5. Arrays de Objetos • Array de objetos e herança – aplicação do polimorfismo • Podemos utilizar arrays para armazenar objetos, tanto da superclasse como da subclasse

  6. Arrays de Objetos • Array de objetos e herança – aplicação do polimorfismo • A a[] = new A[3]; • a[0] = new A(); • a[1] = new B(); • a[2] = new C(); • a[0].m1(); ____________________________________ • a[1].m1(); ____________________________________ • a[2].m2(); ____________________________________ • if(a[2] instanceof C){C c=(C) a[2]); c.m2();} ______________________

  7. Cilindro a Cubo h a r a Cálculo do volume: a3 Cálculo do volume: .r2.h Arrays de Objetos • Exercício 11.1. Utilizando o exercício de cálculo do volume do Cilindro e do Cubo, crie uma classe teste que guarde 10 objetos em um array. Para cada objeto, sorteie um número e verifique se este é par ou ímpar. Caso o número seja par, instancie um objeto do tipo Cubo, caso contrário, instancie um objeto do tipo Cilindro. Ao final, exiba o volume dos 10 objetos colocando qual foi o objeto instanciado: Cubo ou um Cilindro. • VolumeCilindro • public int getVolume(); • Cubo • public Cubo(int a); • Cilindro • public Cilindro(int r, int h);

  8. Hot Topic • Tamanho Físico e Tamanho Lógico de um Array • Um objeto array tem um tamanho físico que é atribuído no momento da sua criação. Pode ser obtido através da variável length. • Ex.: int[] a = new int[3]; • System.out.println(a.length); // retornará 3 • Contudo, ao não utilizarmos todos os índices do array, precisaremos saber quais quantos “espaços” temos ocupado. Para isso, utilizamos uma variável do tipo inteiro que é incrementada a cada inclusão de um elemento no array!

  9. Hot Topic Ex.: public class Aluno{ private double nota[]; //atributo do tipo array, de nome nota private int quantidadeDeNotas; //este é o tamanho lógico public Aluno (int maxNotas){ nota = new double[maxNotas]; quantidadeDeNotas = 0; } public void insereNota(double n){ if (quantidadeDeNotas < nota.length) nota[quantidadeDeNotas++] = n; } public void exibeNotas(){ for (int i = 0; i < quantidadeDeNotas; i++) System.out.println(nota[i]); } }

  10. Métodos • Referências bibliográficas • http://inf.unisinos.br/~anibal

More Related