A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Programação I Aula 11 (Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009."— Transcrição da apresentação:

1 Programação I Aula 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 Arrays de Objetos O que teremos em memória? 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

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 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); Cubo a a a Cálculo do volume: a 3 Cilindro Cálculo do volume: .r 2.h h r

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


Carregar ppt "Programação I Aula 11 (Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009."

Apresentações semelhantes


Anúncios Google