Delegates: Difference between revisions

Content added Content deleted
(Added Kotlin)
(Added Sidef)
Line 2,016: Line 2,016:
puts a.delegated # prints "Delegate"
puts a.delegated # prints "Delegate"
</lang>
</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}}==
=={{header|Swift}}==