Duvida sobre o Singleton

2 respostas
K

Boas pessoal!!

Eu tou a fazer um trabalho para a escola em que se pretende simular uma rede de transportes públicos, mas estou com um problema relativo ao padrão singleton.

Eu criei uma classe cidadeVirtual com o seguinte metodo constructor:
public class CidadeVirtual {

    private Lista autocarros;
    private ArrayList<Paragem> paragens;
    
    public CidadeVirtual(int numAutocarros, int numParagens){

        paragens = criaParagens(numParagens);
        passageiros = criaPassageiros(numPassageiros,numParagens);
        distribuiPassageirosPorParagens(numPassageiros);



    }
E agora quero usar o singleton sobre esta classe, logo criei uma classe CidadeVirtualSingleton com o seguinte codido:
public class CidadeVirtualSingleton {

    private static CidadeVirtual cidade;

    private CidadeVirtualSingleton(int numAutocarros, int numParagens, int numPassageiros){
       cidade = new CidadeVirtual(numAutocarros, numParagens);
    }

    public static CidadeVirtual getInstace(){
        return cidade;
    }

   
    public Object clone()throws CloneNotSupportedException{
        throw new CloneNotSupportedException();
    }

Mas agora estou com um problema para criar a cidade com os valores que são inseridos pelo utilizador porque não estou a conseguir enviar os valores para a cidade que quero criar.
Será que alguem me pode explicar como eu devo fazer?

2 Respostas

rmendes08

Cara, você não precisa de uma segunda classe para criar um Singleton, é só tornar o próprio construtor de CidadeVirtual privada e criar o método para retornar a instância na própria classe também. O que eu acho estranho é você passar parâmetros para o construtor de uma classe que deve ser um singleton. Talvez a sua modelagem(ou do seu professor) esteja equivocada.

K

Era mesmo a minha modelagem, mas ja consegui por a funcionar

Criado 6 de agosto de 2009
Ultima resposta 6 de ago. de 2009
Respostas 2
Participantes 2