まつもと ゆきひろです

In message "[ruby-list:2643] Re: class design (Re: url escape)"
    on 97/04/07, 石塚圭樹 <keiju / shljapan.co.jp> writes:

|けいじゅ@SHLジャパンです. 

|実装の継承にも2種類あって, 
|
|1. 構造(属性)の継承
|2. 機能の継承
|
|があると思います. Circle->Ellipseの継承では構造は継承している(属性が1
|つ付加されている)が機能に関してはは全くの作り直しになるというところに
|問題があるのでしょう.

そうですね.さらにいえばrubyに限っていうと構造の継承はほとん
ど重視されていません.rubyの構造はメソッドを通じてのみ定義さ
れるからです.このあたり,構造と機能が完全に分離しているCLOS
なんかとは対照的ですね.

|>rubyのmodule+Mix-inとJavaのinterfaceはどちらも多重継承に対する解答です
|>けどまったく逆になっていて面白いですよね。
|
|この辺り Java の interface に関して松本氏には一言あるみたいなので, 語っ
|てもらいたいですね. 

そんなにないですよ.ただ静的型の言語ではなんらかの形で多重継
承に類似した機能がないと使いものにならないことが明らかになっ
ていますので,単純継承しかない言語であるJavaにもクラス階層を
またがって仕様を共有するinterfaceは必須であったと思います.

しかし,実装の共有を支援する機能がまるでないので,mix-inに相
当するものもあれば完璧だったのになあと思う次第です.

                                まつもと ゆきひろ /:|)