Chamada de métodos em cascata!

Fala pessoal.
Eu to com um probleminha em chamadas de metodos em cascata.

Eu sei que as chamadas de metodo em cascata elas devem ter como tipo de retorno o objeto (no caso a classe) que se esta usando mas, porque usar o return this; ? Por favor n respodam que eh pra permitir o encadeamento pois isso ja foi dito para mim :P, isso eu sei mas ,eu quero saber como essa referencia eh passada e o porque de se usar o this e o Objeto no retorno.

Obrigado :smiley:

vc tem:

class X
{ 
  X a() {...}
  X b() {...}
  X c() {...}
}

Assim vc pode fazer:

X x = new X();
x.a();
x.b();
x.c();

ou

X x = new X();
x.a().b().c();

Pq fazer isso? Ao meu ver, isso é pura questão de gosto. Pq isso pode gerar um código bem mas legivel, ou ilegivel.

O this é utilizado para referênciar um objeto ou variável de escopo de classe… por exemplo, se você tiver num método um objeto chamado exemplo e a classe tiver um outro objeto chamado exemplo você pode fazer o seguinte public void setExemplo(String exemplo){ exemplo += "Objeto exemplo com escopo de método"; this.exemplo += "Objeto exemplo com escopo de classe"; this.exemplo = exemplo; }

Neste caso o objeto exemplo com escopo de classe recebe o exemplo do escopo de método.

Gustavo Guilherme BacK

O this é, na verdade, uma referencia para o objeto que está executando o metodo. Por exemplo.


objetoExecuta.metodo();

public void metodo() {

this.algumaCoisa;

}

O this é uma referencia para o objetoExecuta. Por ser uma referencia para o objeto que está executando o metodo, this não pode ser usado num contexto estatico (static) já que um metodo static, por exemplo, não precisa de uma instancia para ser executado. Espero ter ajudado.

até mais.