けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :07025 ] the message: "[ruby-list:7025] Re: builtin class inherit ", on Mar/09 23:42(JST) TEI meiki writes: >鄭です。 > > |継承するのはやめてDelegatorを使うというのはどうでしょう。 > >delegate.rb を読んでみました。 >initialize の中で、渡された object が持つ メソッド群 と同名の メソッド群を >自分(これからできるインスタンス?)に 特異メソッドとして宣言(作成)していく >クラスだろうと理解しました。 >なるほど...。 > >この delegate.rb の手法は、オブジェクト指向プログラミングでは一般的な >手法なのでしょうか? ここまで, 徹底すると一般的ともいえないかも知れませんが. ある処理をインスタンス変数の参照するオブジェクトに委譲(デレゲート)する ことは, 非常に一般的といえると思います. たぶん, 継承を不用意に用いるよりもこの様なデレゲートタイプの利用の方が 安全で一般的といえると思います. >それとも、delegate.rbは ruby の「組み込みクラスでインスタンス変数が >使えない制限」を回避するのを主目的に用意された物なのでしょうか? 上記で話しましたように, 組み込みクラスのサブクラスを不用意に作ることは 避けた方が良いと思います. これは, rubyに限らずオブジェクト指向言語/ラ イブラリで一般的にいえることだと思います. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / rational.com <<---