Chaining setters: is there a drawback?
我已经开始使用从jQuery采用的技术,在我的setter中称为链接。 例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Foo { private int bar; private int baz; public int getBar() { return this.bar; } public int getBaz() { return this.baz; } public Foo setBar(int bar) { this.bar = bar; return this; } public Foo setBaz(int baz) { this.baz = baz; return this; } } |
我更喜欢这种方式,因为它很容易设置多个属性。
有缺点吗? 我已经向几位Java程序员询问了这个问题,但他们只能说它"不太好",但他们无法给我一个正确的解释原因。
我认为你遇到了一个缺点:在一些编程语言的文化中,它是不寻常的和非常规的。 有些文化比其他文化反应更好,不寻常和非常规。 我同意它有其优点,但Java setter通常不会这样编码。
你可以在这个类似的问题上找到答案。