Passando a referencia de uma classe como parametro? Nao entendi

3 respostas
D

Pessoal, nao estou entendendo de geito nenhum esse exercicio da caelum:

  1. Remodele nosso sistema de Trem para ter tambem agora uma Empresa. Essa empresa possui um nome, e uma array de trens. A empresa deve ter um metodo adicionaTrem(Trem) para colocar um novo Trem na array.

Eu consegui fazer esse exercicio, mas sem utilizar esse parametro para o metodo. Como eu trataria esse parametro que e a referencia de uma classe?? Alguem poderia me dar uma ideia de como fazer esse metodo funcionar?

E no proximo exercicio, ele fala para fazer uma classe Cidade onde vai ter uma array de Trens parados la. Cada vez que um trem parar naquela cidade, a array deve ser mudada pela propria classe Trem. Ele dis que o metodo deve ser assim:

void mudaCidadeAtual(Cidade cidadeNova){
  this.cidadeAtual.removeTrem(this);//Aqui que nao intendi. Como um metodo funciona passando por parametro o this?
  this.cidadeAtual = cidadeNova;
  this.cidadeAtual.adicionaTrem(this);// Continuo nao intendendo!
}

Alguem poderia me dar umas dicas de como fazer esses dois exercicios? Lembrando que eu ja consegui faze-los, mas nao utilizando esses parametros dessa forma.

Ahh, e outra: Qual a diferenca entre parametro e argumento?
VLW!!

3 Respostas

marcosharbs

la onde estao definidos os metodos
oq esses metodos recebem como parametro?
um objeto Trem?
o this é simples ele está se referindo a propria classe

D

Nao sei como esta a classe onde os metodos foram criados, pq ela nao existe. O exercicio e assim :shock: E ainda que eu receba um objeto como parametro, como vou poder tirar esse objeto por ele mesmo de uma array? Tipo, como eu vou poder excluir um Trem de uma array, usando um metodo que esta dentro dessa mesma classe Trem?

marcosharbs

bem teria que dar uma olhada para ver como esta implementado
nao sei oq esse metodo recebe como parameto, mas oq deve acontece é que vc passa um objeto trem ali e dentro desse objeto deve te o nome ou codigo do trem algo assim e ele percorre o array e tira esse trem da lista, dentro do metodo ele deve acessa a lista e afzer akilo ali que te falei, percorrer ela e excluir com base no objeto que recebeu como parametro e da um setLista dai, setando a nova lista com o trem excluido.

Criado 12 de novembro de 2008
Ultima resposta 12 de nov. de 2008
Respostas 3
Participantes 2