methods=Kernel/i.DelegateClass.delegate
sublibraries=
requires=
classes=Delegator,SimpleDelegator
is_sublibrary=false

᥽åɤΰѾ (delegation) Ԥ

[[c:Delegator]] 饹ϻꤷ֥Ȥ˥᥽åɤμ¹ԤѾ롣
[[c:Delegator]] 饹ѤϤѾ
[[m:Delegator#__getobj__]] ᥽åɤưѾΥ֥Ȥꤹ롣

[[c:SimpleDelegator]]  [[c:Delegator]] ΰĤǤꡢ󥹥ȥ饯
Ϥ줿֥Ȥ˥᥽åɤμ¹ԤѾ롣

ؿ DelegateClass(supperclass)  superclass 饹
֥ȤҤȤĤȤꡢΥ֥Ȥ˥󥹥󥹥᥽åɤѾ
륯饹֤

see also: [[m:Object#method_missing]]

//emlist{
require 'delegate'

foo = Object.new
def foo.test
  p 25
end
foo2 = SimpleDelegator.new(foo)
foo2.test   # => 25

class ExtArray < DelegateClass(Array)
  def initialize
    super([])
  end
end
a = ExtArray.new
p a.class   # => ExtArray
a.push 25
p a         # => [25]
//}

=== 

  * Rubyist Magazine[[url:http://jp.rubyist.net/magazine/]]
  * ɸźե饤֥Ҳ 6 ۰Ѿ[[url:http://jp.rubyist.net/magazine/?0012-BundledLibraries]]
