2017-06-06 10 views
-2

私はそれが偶数の場合 が代わりに1つのステートメントで複数のJavaメソッド呼び出しをチェーンする方法は?

そのクラス内の関数を呼び出すために

MyClass myclass = new MyClass(); 

myclass.params(url,body); 
myclass.request(); 
myclass.response(); 

を行うことを有するので、私はそれが

MyClass myclass = new MyClass(); 

myclass.params(url,body).request().response(); 

のようになりたいものを作るしようとしています可能。

+2

はい、それぞれのメソッドは 'this'を' MyClass param(...){... return this;} 'として返すだけで、呼び出しを連鎖させることができます。しかし、最終的には、これはおそらくあなたのコードの方法を読みにくくするでしょう。 – SomeJavaGuy

+0

最初のアプローチで何が間違っていますか? – Ezio

+0

'params(url、body)'が 'MyClass'のオブジェクトを返した場合、' request() 'を呼び出すことができます。' request() 'が' Myclass'のオブジェクトを返した場合と同じです。 。 –

答えて

3

これは完全に有効な質問です。はい:可能です。

APIスタイルのタイプは、流暢なインターフェイスと呼ばれます。 wikipediaから:

流れるようなインターフェイスは、通常はちょうどあなたを宣言し、あなたのユースケースのためにこれを実装するために後続の呼び出し

の命令コンテキストを中継するカスケード接続の方法(具体的にメソッドチェーン)を使用して実装されていますこのような方法:代わりにその

public MyClass params(String url, String body) { 
    // your code here 
    return this; 
} 

public void params(String url, String body) { 
    // your code here 
} 
関連する問題