JJ プログラム仙人修行日誌

2024/04/20 からは、プログラム仙人修行の日誌を書いてます。

ポリモフィズム

宿題メールで,ポリモフィズムを問う問題を扱いました。そこで,みなさんからのコメントで,wikipedia のURLが紹介されていました。(明日の宿題メールに掲載)
ポリモーフィズム - Wikipedia
ここの説明は,オーバーロードの説明です。まあ,ポリモフィズムをこのように説明する人も多いのは,このジャンジャン日記でもたびたび指摘してます。
wikipedia のこの項目のノートのところに,間違いを指摘しておきました。きっと,正しくかける人が修正してくれるでしょう。

最近の本は,ポリモフィズムの説明を正しくしてあるものが多いです。だんだんと普及してきたようです。

補足

ポリモーフィズムはてなダイアリ
は,間違いです。これは,「メソッド一意性」(同一メソッド名は,同じような仕事をするという性質)の説明です。
ポリモフィズムはてなダイアリ
は,正しいです。

メソッド一意性を実現する手段として

  • オーバロード 同一メソッド名で,引数,返値の型のバリエーションに対応
  • オーバライド 親クラスのメソッドを子クラス独自に実装し直す
  • ポリモフィズム 親クラスに定義してあるメソッドを自分のメソッドのように扱える。一時的に親クラスのインスタンスになる。

があります。

ポリモフィズムの例

メソッド一意性以外のポリモフィズムの例があれば,ポリモフィズムメソッド一意性で説明することが間違いであることがよく分かると思います。
java で,インスタンスを生成するとき

Set xset = new HashSet();

のように書くと,xset は,Set のインスタンス と同時に HashSet のインスタンスとして扱われます。


関連
メッセージ一意性 - 言語学習クラブ