Delegates: Difference between revisions

Update Python to simplified task
(Put python back)
(Update Python to simplified task)
Line 82:
<pre>
class Delegator:
def __init__(self, delegate=None):
self.delegate = delegateNone
def thingoperation(self):
if hasattr(self.delegate, 'thing'):
return self.delegate.thing()
return 42'default implementation'
def other(self):
if hasattr(self.delegate, 'other'):
return self.delegate.thing()
return 5
 
class Delegate:
def thing(self):
return 37'delegate implementation'
 
if __name__ == '__main__':
Line 101 ⟶ 97:
# No delegate
a = Delegator()
assert a.thingoperation() == 42'default implementation'
assert a.other() == 5
 
# With delegate
a.delegate = Delegate()
assert a.thingoperation() == 37'delegate implementation'
assert a.other() == 5
</pre>
Anonymous user