まつもと ゆきひろです
In message "[ruby-list:6817] Re: Delegetor [Re: Counter class ]"
on 98/02/27, 石塚圭樹 <keiju / rational.com> writes:
|けいじゅ@日本ラショナルソフトウェアです.
|>そーゆー問題ではないと思うんですけど.
|>
|> 委譲先のオブジェクトの仕様+付け加えた仕様
|>
|>という現在のモデルと
|>
|> 基のクラスの仕様+委譲先のオブジェクトの仕様+付け加えた仕様
|>
|>というモデルの違いを問題にしているんですけど….
|
|良く理解できていないんですが...
|
|class Foo
|end
|
|class Bar < Foo
| include Delegatable
|
| def initialize(obj)
| super
| @obj = obj
| end
| ...
|end
|
|となっている場合, どれがどの仕様になっているんですか?
この場合存在している仕様は
Fooの仕様
Barの仕様(Fooに対して追加されたもの)
委譲先の仕様
になりますね.んーと,そうか.Barの仕様に対して委譲先の仕様
が追加されたと考えるわけですね.それはそれで納得できるか.
私は
class Bar<Delegator
...
end
で「委譲先の仕様にBarで新たに追加した仕様を足した」と考えて
いました.それはそれできれいなモデルなのですが,これを「Bar
の仕様に委譲先の仕様を足した」と考える(交換則 :-))と「Barの
仕様はどこかから継承されて来たものを含んでも構わない」という
結論にも納得できます.
ちゅーわけで,今後は Delegatable の存在に反対しません.
君子豹変? ^^;;;
まつもと ゆきひろ /:|)