1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[JAVA] Vectors

Discussão em 'Programação' iniciada por pdrnvs, 2 de Fevereiro de 2009. (Respostas: 8; Visualizações: 584)

  1. pdrnvs

    pdrnvs Power Member

    O meu problema é, tendo uma class, quero criar um objecto e guardar-lo num vector, para futuramente adicionar mais objectos ao vector.
    Como é que ponho o objecto no vector?

    Class:
    Código:
    import javax.swing.JOptionPane;
    
    public class Cliente {
        protected String nome;
        protected int idade;
    
        public Cliente(){
            nome=JOptionPane.showInputDialog("Nome?");
            idade=Integer.parseInt(JOptionPane.showInputDialog("Idade?"));
        }
        
        public String getNome(){
            return nome;
        }
        public int getIdade(){
            return idade;
        }
        
    }
    
    Programa:
    Código:
    import java.util.Vector;
    
    public class Programa{
      public static void main(String[] args){
        
          Vector<Object> vector = new Vector<Object>();
           
          Cliente ObjectoCliente=new Cliente();
          
          
          System.out.println(ObjectoCliente.getNome());
          System.out.println(ObjectoCliente.getIdade());
    
          vector.add(ObjectoCliente); //É assim??
          
          vector.elementAt(0);
      }
    }
     
  2. AliFromCairo

    AliFromCairo Power Member

    Sim, por exemplo. No entanto, se os objectos forem sempre do tipo Cliente, podes declarar o vector como Vector<Cliente>.

    Já agora, não mistures código de interface com o código das tuas classes de domínio.
     
  3. Baderous

    Baderous Banido

  4. pdrnvs

    pdrnvs Power Member

    Ja ta feito obrigado
     
  5. pdrnvs

    pdrnvs Power Member

    So mais uma duvida,

    Se eu tiver o superclass Jogador, e como subclass Cliente e Funcionario, como é que eu consigo ler os valores que estao na subclass Cliente apartir de um vector?

    Tipo isto,

    System.out.println((Cliente) vector.elementAt(0).nome);

    Como é que vou buscar os elementos da subclass?


    Obrigado
     
    Última edição: 3 de Fevereiro de 2009
  6. Baderous

    Baderous Banido

    Supondo que cada uma das subclasses tem definido ou tem acesso ao método getNome() (não se deve aceder directamente às variáveis de instância de uma classe), basta fazer vector.elementAt(0).getNome().
     
  7. pdrnvs

    pdrnvs Power Member

    Mas se eu usar
    vector.elementAt(0).getNome();
    nao consigo, tem de ser
    ((Cliente) vector.elementAt(0)).getNome();
    ou
    ((Funcionario) vector.elementAt(0)).getNome();

    Nao existe outra forma?
    Obrigado
     
  8. Baderous

    Baderous Banido

    Código:
    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            Vector<Jogador> v = new Vector<Jogador>();
            v.add(new Cliente("Pedro"));
            v.add(new Funcionario("Joao"));
            for (Jogador d : v)
                System.out.println(d.getNome());
            }
        }
    Assim funciona. Que erro é que te dá?
     
  9. pdrnvs

    pdrnvs Power Member

Partilhar esta Página