[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 10162] Re: 動的実行メソ ッド決定はなぜされないのか
前橋です。
福嶋さん:
>> ・メソッドをオーバライドした場合、(Javaではだめだが)引数を
>> 広げることはできてよいはず。そういう規則を入れるとき、
>> 衝突を起こしそう。
>
>引数を広げるとはどういうことでしょう?
さすがにこれではまるで説明不足でした。すみません。
>Cのprintfみたいに引数がいくつでも取れる、みたいなことですか?
ではなくて、
「引数を広げる」とは、オーバライドしたとき、サブクラス側の
メソッドでは、引数の型を、スーパークラス方向に変更しても問題は
ないはず、という意味で書きました。
スーパークラス:
hoge(Hoge o);
サブクラス:
hoge(Object o);
オーバライドでは、本来、引数の型は広げることができて、戻り値の型は
狭めることができるはずです(Javaではどちらもできませんが)。
まあ、戻り値の型を狭める方はともかく、引数を広げる方は、あまり
利用価値もないかもしれませんが...
------------------------------------------------------------
前橋 和弥 PXU00211@xxxxxxxxxxx
http://member.nifty.ne.jp/maebashi/
------------------------------------------------------------