[SML 7527] Re: オーバロードはポリモフィズムか?
sunao furukawa
sadie @ kind.ocn.ne.jp
2009年 5月 2日 (土) 10:55:25 JST
しつこいですが、古川です。
> そもそもポリモフィズムの定義って何ですかね。
IBMのObject REXXのマニュアルにポリモフィズムについて書いてありました。
抜粋:
REXX では、複数のオブジェクト(異なる) に同じメッセージを送ることができます。
(中略)
ポリモアフィズムのもう1 つの機能として、同じメソッド名を再利用して1 つのメッセージで複数の機能を開始できるようにする能力があります。REVERSE_STRING、REVERSE_PEN、REVERSE_BALL などの複数のメッセージを使用する必
要はありません。したがって、メソッド命名方式が単純になり、複雑なプログラムのトレースや修正が簡単になります。インターフェースは同じままで、メソッドの各種実装を隠してしまう能力は、ミクロに見たポリモアフィズムを表しています。よりマクロに見れば、ポリモアフィズムにより広範囲にわたってコードを再利用することができます。
このようなものを読んでみるとマクロに見ればオーバーロードもポリモフィズムを実現する方法になるとみなされる言語もあるのではと思いましたがどうでしょうか。
(ちなみに私はNetREXXなら使ったことはあるのですがObject REXXについてはマニュアルを読んだだけの初級者なのですが・・・)
SML メーリングリストの案内