方法链接是一种用于对同一对象进行多次方法调用的技术,仅使用对象引用一次。示例-
假设我们有一个Foo类,它有两个方法bar和baz。
我们创建一个Foo类的实例-
foo = Foo()
没有方法链接,要在对象foo上同时调用bar和baz,我们可以这样做-
foo.bar() foo.baz()
使用方法链接,我们做到了-
链式调用方法bar()
和baz()
对象foo。
foo.bar().baz()
简单的方法链接可以在Python中轻松实现。
class Foo(object): def bar(self): print "Foo.bar called" return self def baz(self): print "Foo.baz called" return self foo = Foo()foo2 = foo.bar().baz() print " id(foo):", id(foo) print "id(foo2):", id(foo2)
输出结果
这是运行上述程序的输出-
Foo.bar called Foo.baz called id(foo): 87108128 id(foo2): 87108128