Entrei no forum para ter certeza que para fazer uma classe que guardasse arrays de objeto diferentes, poderia apenas usar o mesmo feito no curso. o Meu ficou dessa forma:
package br.com.bytebank.banco.modelo;
public class GuardadorDeObjetos {
private Object[] objeto;
private int espacoVazio;
public GuardadorDeObjetos() {
this.objeto = new Object[10];
this.espacoVazio = 0;
}
public void adiciona(Object ref) {
this.objeto[this.espacoVazio] = ref;
this.espacoVazio++;
}
public int getEspacoPreenchidos() {
return this.espacoVazio;
}
public Object getPosicaoNaArray(int pos) {
return this.objeto[pos];
}
}
e minha classe pra teste foi essa:
package br.com.bytebank.banco.test;
import br.com.bytebank.banco.modelo.Cliente;
import br.com.bytebank.banco.modelo.Conta;
import br.com.bytebank.banco.modelo.ContaCorrente;
import br.com.bytebank.banco.modelo.GuardadorDeObjetos;
import br.com.bytebank.banco.modelo.SeguroDeVida;
public class TesteObjetoDesafio {
public static void main(String[] args) {
GuardadorDeObjetos go = new GuardadorDeObjetos();
//SeguroDeVida sv = new SeguroDeVida();
Conta cc1 = new ContaCorrente(1478, 12345);
Conta cc2 = new ContaCorrente(1478, 54321);
Cliente titularcc1 = new Cliente();
Cliente titularcc2 = new Cliente();
cc1.setTitular(titularcc1);
cc1.getTitular().setNome("Paulo");
cc2.setTitular(titularcc2);
cc2.getTitular().setNome("Emilene");
cc2.getTitular().setProfissao("Dona de casa");
go.adiciona(cc1);
go.adiciona(cc2);
go.adiciona(titularcc1.getNome());
go.adiciona(titularcc2.getNome());
go.adiciona(titularcc2.getProfissao());
for(int i = 0; i < go.getEspacoPreenchidos(); i++) {
System.out.println(go.getPosicaoNaArray(i));
}
}
}