Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > delegateライブラリ > SimpleDelegatorクラス

class SimpleDelegator

クラスの継承リスト: SimpleDelegator < Delegator < Object < Kernel < BasicObject

要約

Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。

委譲先に指定されたオブジェクトへメソッドの実行を委譲します。

例:

require 'delegate'

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

目次

特異メソッド
new
インスタンスメソッド
__getobj__ __setobj__

継承しているメソッド

Delegatorから継承しているメソッド
! != == freeze marshal_dump marshal_load method_missing methods protected_methods public_methods respond_to? respond_to_missing?

特異メソッド

new(obj) -> object[permalink][rdoc]

メソッドを委譲するオブジェクトの設定と、メソッド委譲を行うためのクラスメソッドの定義を行います。

[PARAM] obj:
委譲先のオブジェクト

[SEE_ALSO] Delegator.new

インスタンスメソッド

__getobj__ -> object[permalink][rdoc]

委譲先のオブジェクトを返します。

[SEE_ALSO] Delegator#__getobj__

__setobj__(obj) -> object[permalink][rdoc]

委譲先のオブジェクトを obj に変更します。

メソッド委譲を行うためのクラスメソッドの再定義は行われないことに注意してください。メソッド委譲を行うためのクラスメソッドの定義は生成時にのみ行われます。そのため、以前の委譲先オブジェクトと obj の間で呼び出せるメソッドに違いがあった場合は、何かしらの例外が発生する可能性があります。

[PARAM] obj:
委譲先のオブジェクト
[RETURN]
変更後の委譲先オブジェクト