Delegates: Difference between revisions

added Io entry
(Add NGS implementation)
(added Io entry)
Line 918:
fmt.Println(a.operation()) // prints "delegate implementation"
}</lang>
 
=={{header|Io}}==
{{trans|Python}}
<lang Io>Delegator := Object clone do(
delegate ::= nil
operation := method(
if((delegate != nil) and (delegate hasSlot("thing")),
delegate thing,
"default implementation"
)
)
)
 
Delegate := Object clone do(
thing := method("delegate implementation")
)
 
a := clone Delegator
a operation println
 
a setDelegate("A delegate may be any object")
a operation println
 
a setDelegate(Delegate clone)
a operation println</lang>
 
=={{header|J}}==
Anonymous user