Chamada de métodos em cascata!

2 respostas
J

Opa… :slight_smile:
Eu estou com uma duvida na chamada de métodos em cascata… vamos a ela!
Quando você cria os métodos da classe com “suporte” a chamada de métodos em cascata você tem que colocar o tipo de retorno do método com referência a sua classe correto e dar um return com a palavra-chave this desta maneira:

public class JBoy

{

public JBoy write()

{

.

.

.

return this;

}

public JBoy test()

{

.

.

.

return this;

}

}

correto ?
pois bem… o que eu entendi foi o seguinte: Que a palavra-chave this utiliza em outra classe a referencia entao como chamada de método por exemplo eu poderia fazer o seguinte:

JBoy b = new JBoy();
b.write().test();

Porque o this retornaria a referencia (no caso b) para o seguinte método correto ?

Falou… depois desse bla bla bla todo… agora que vem ela :stuck_out_tongue:
E afinal de contas por que cargas dagua eu tenho que colocar o danado do tipo de retorno como JBoy ( ou seja como o nome da classe ) eu sei que tenho que faze-lo mas eu não consigo pensar só que é assim.

Bem desculpe ai pelo texto muito longo mas obrigado pela paciência

ps. se n for muito incomodo também gostaria de uma ajuda de como colocar os códigos aqui… eu já cliquei já digitei e não saiu… eu só tentei com o ie por enquanto…

obrigado e abraços

2 Respostas

Gerson

Uai! Porque a variável ‘this’ referencia um objeto do tipo ‘JBoy’!

Mas veja que você poderiaaaaa retornar um outro tipo de dados como o Object. Nesse caso deverá fazer o que se chama de downcasting, pra obter o retorno como sendo um objeto do tipo ‘JBoy’ e fazer suas manipulações.

O nome da classe diz qual referencia, para qual tipo de objeto, que determinada variavel poderá armazenar. É mesma coisa que com tipos primitivos, com a diferença de esta ser value type.

Gerson K.

J

tipo… e em que momento o this puxou a referência de JBoy pra ele mesmo ?o que eu não entendi ainda foi isso…

Obrigado mais uma vez :slight_smile:

Criado 8 de maio de 2003
Ultima resposta 9 de mai. de 2003
Respostas 2
Participantes 2