けいじゅ@日本ラショナルソフトウェアです.

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 <<---