[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10160] Re: 動的実行メソ ッド決定はなぜされないのか



前橋です。

福嶋さん:
>(2)のパターンでも、MyClass#equals(MyClass)メソッドを呼んで欲しいと思うの
>は、私だけでしょうか…?
>それとも、今のような仕様になっている理由があるのでしょうか?

引数の型によって実行するメソッドを動的に決定して欲しい、というのは
理解できないではないんですが、

・普通のメソッドオーバライドより実装がかなり大変。
・引数がプリミティブ型の場合や、そもそも引数の数が違う場合、
 どのみち静的に決定することになるのでは?
・引数がオブジェクトでも、複数の引数がある場合、曖昧さを
 解決する規則は今でも結構ややこしい。それを実行時にやるの?
・メソッドをオーバライドした場合、(Javaではだめだが)引数を
 広げることはできてよいはず。そういう規則を入れるとき、
 衝突を起こしそう。

などの理由が思いつきます。

# あまり深く考えていないので、また誤爆かもしれません...

------------------------------------------------------------
  前橋 和弥              PXU00211@xxxxxxxxxxx
                         http://member.nifty.ne.jp/maebashi/
------------------------------------------------------------