[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 10161] Re: 動的実行メソ ッド決定はなぜされないのか
福嶋です。
デシリアライズされたStringについてはすみません、知りません。
#ちょっと試せばいいだけかもしれませんが…。
On Thu, 30 May 2002 04:25:45 +0900, according to the article
"[jfriends-ml 10160] Re: 動的実行メソッド決定はなぜされないのか"
Kazuya Maebashi <PXU00211@xxxxxxxxxxx> wrote:
> >(2)のパターンでも、MyClass#equals(MyClass)メソッドを呼んで欲しいと思うの
> >は、私だけでしょうか…?
> >それとも、今のような仕様になっている理由があるのでしょうか?
>
> 引数の型によって実行するメソッドを動的に決定して欲しい、というのは
> 理解できないではないんですが、
>
> ・普通のメソッドオーバライドより実装がかなり大変。
そうなんですか…。
> ・引数がプリミティブ型の場合や、そもそも引数の数が違う場合、
> どのみち静的に決定することになるのでは?
確かに、この時は静的になるでしょうか。
でも、動的にクラスローディングした場合を考えるとやはりコンパイル時には
判定できませんね。プリミティブ型なら大丈夫でしょうか。
> ・引数がオブジェクトでも、複数の引数がある場合、曖昧さを
> 解決する規則は今でも結構ややこしい。それを実行時にやるの?
すみません。この辺のややこしさはぜんぜん知らないでの発言でした。
> ・メソッドをオーバライドした場合、(Javaではだめだが)引数を
> 広げることはできてよいはず。そういう規則を入れるとき、
> 衝突を起こしそう。
引数を広げるとはどういうことでしょう?
Cのprintfみたいに引数がいくつでも取れる、みたいなことですか?
だとすると、それをJavaに持ち込むのはJavaプログラムの複雑さが
増えるばかりであまりいいことがないような気がします。
(そういう場合は、Object[]やCollectionやIteratorを引数に取ればよいのでは)
----------------------------------------
(株)PFU ソフトプロダクト事業部第二開発部
福嶋 航 w.fukushima@xxxxxxxxxxxxxxx