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}}==
|