Browse Source

Add chaining method pattern

Thinh Tran 11 năm trước cách đây
mục cha
commit
687bcb25a0
1 tập tin đã thay đổi với 33 bổ sung0 xóa
  1. 33 0
      chaining_method.py

+ 33 - 0
chaining_method.py

@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+class Person(object):
+
+    def __init__(self, name, action):
+        self.name = name
+        self.action = action
+
+    def do_action(self):
+        print self.name, self.action.name,
+        return self.action
+
+class Action(object):
+
+    def __init__(self, name):
+        self.name = name
+
+    def amount(self, val):
+        print val,
+        return self
+
+    def stop(self):
+        print 'then stop'
+
+if __name__ == '__main__':
+
+    move = Action('move')
+    person = Person('Jack', move)
+    person.do_action().amount('5m').stop()
+
+#===== Output =====
+# Jack move 5m then stop