わんにゃーポリモーフィズムと言いたいだけ

鳴くメソッドを持つ動物クラスを継承した犬クラスと猫クラスをつかった多態性の説明――自分はこれを、わんにゃーポリモーフィズムと呼んでいる――が、かつて普及していたのは何故なんだろうなあ、と思う。

「表形式でデータを保存したファイル」というクラスがあって、それは「最初の項目の内容を取得する」というメソッドを持つ。
そして、それを継承した「カンマ区切りファイル」「タブ区切りファイル」「Excelファイル」という子クラスがあったとする。

このとき、各クラスの「最初の項目の内容を取得する」を呼び出すと以下のような動きをする。
「カンマ区切りファイル」に対して「最初の項目の内容を取得する」メソッドを呼び出すと『項目の区切りはカンマ文字だと考えて、最初の項目を取得する』という処理をする。
「タブ区切りファイル」に対して「最初の項目の内容を取得する」メソッドを呼び出すと『項目の区切りはタブ文字だと考えて、最初の項目を取得する』という処理をする。
「Excelファイル」に対して「最初の項目の内容を取得する」メソッドを呼び出すと『ブックを開くとかシートを選択するとか色々やって、最終的に最初の項目を取得する』という処理をする。

こういった「最初の項目の内容を取得する」という同じメソッドを呼び出しても実際に行われる処理が変わるのが、ポリモーフィズムだ。

というような説明がメジャーになっていたら、もっと世界は幸せになっていた気がする。