Delegates: Difference between revisions

Added Sidef
(Added Kotlin)
(Added Sidef)
Line 2,016:
puts a.delegated # prints "Delegate"
</lang>
 
=={{header|Sidef}}==
<lang ruby>class NonDelegate { }
 
class Delegate {
method thing {
return "delegate implementation"
}
}
 
class Delegator (delegate = null) {
method operation {
 
if (delegate.respond_to(:thing)) {
return delegate.thing
}
 
return "default implementation"
}
}
 
var d = Delegator()
say "empty: #{d.operation}"
d.delegate = NonDelegate()
say "NonDelegate: #{d.operation}"
d.delegate = Delegate()
say "Delegate: #{d.operation}"</lang>
{{out}}
<pre>
empty: default implementation
NonDelegate: default implementation
Delegate: delegate implementation
</pre>
 
=={{header|Swift}}==
2,747

edits