如果想要对一个实例链式的使用该实例的方法,返回这个实例
In [1]: class C:
...: def pprint(self, arg):
...: print(arg)
...:
In [2]: class D:
...: def pprint(self, arg):
...: print(arg)
...: return self
...:
In [3]: c = C();d = D()
In [4]: c.pprint(1)
1
In [5]: c.pprint(1).pprint(1)
1
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-5f2ffd7821df> in <module>
----> 1 c.pprint(1).pprint(1)
AttributeError: 'NoneType' object has no attribute 'pprint'
In [6]: d.pprint(1)
1
Out[6]: <__main__.D at 0x1fb6ff15a90>
In [7]: d.pprint(1).pprint(1)
1
1
Out[7]: <__main__.D at 0x1fb6ff15a90>
java 也是一样哈!
public class Hello {
public static void main(String[] args) {
Boring boring = new Boring();
boring.add(1).add(1);
System.out.println(boring.sum);
}
}
class Boring{
public int sum = 0;
public Boring add(int temp){
sum += temp;
return this;
}
}