1

いくつかのボイドを持つクラスを書くとき:

public class MyObj {
    public void doSomething() { /* does something */ }
    public void doSomethingElse() { /* does something else */ }
    ...
}

次のコードを使用できます。

MyObj myObj = new MyObj();
myObj.doSomething(); // does something
myObj.doSomethingElse(); // does something else

しかし、私がこのようにクラスを書くと:

public class MyObj {
    public MyObj doSomething() {
        // do something;
        return this;
    }
    public MyObj doSomethingElse() {
        // do something else;
        return this;
    }
}

次のコードを使用して、同じタスクを実行できます。

MyObj myObj = new MyObj();
MyObj.doSomething().doSomethingElse(); // does something and does something else.

JavaScript(jQuery)の2番目のフォームを見ました:

$("#myDialog").dialog().focus().mySuperLongNameHomeMadeBullshitFunction().remove();

だから私の質問は、Javaでは、連結形式または標準を使用することの長所と短所は何ですか?(私は本当に2番目に変更するつもりはありません、私たち全員がそうであるように、ただ好奇心が強いです)。

4

2 に答える 2

4

メソッド チェーンを使用すると、1 つの式でメソッドを呼び出すことができます。

これは、複数のステートメントを使用できない状況 (たとえば、this() と super()) で役立ちます。

于 2013-03-07T19:51:10.390 に答える
0

メソッドチェーンを使用すると、流暢なAPIを使用してDSLを作成し、より明確なコードを作成できます。

まったく同じことをしながら、より簡潔で意味のあるものにすることができます。

于 2013-03-07T19:53:48.353 に答える