...この機能を表す用語は、ポリモフィズム(polymorphism)であり、あるクラスのオブジェクトが、そのクラス自身としての形態、あるいは拡張している元のクラスとしての形態などの複数形態を持つという意味です。
プログラミング言語Java 第3版 - 第3章 クラスの拡張
オブジェクト指向はわかっているつもりであるが、これをプログラミングを知らない若者にわかりやすく伝えるにはどうすればよかろうか。特に、オブジェクト指向の3要素である、カプセル化・継承・多態性のうちの、最後の要素、多態性(polymorphism)が、最大の難関であり最大のポイント。
…碇シンジという人物だって何人もいるんだ。君の心の中にいるもう一人の碇シンジ、葛城ミサトの心の中にいる碇シンジ、惣流アスカの中のシンジ、綾波レイの中のシンジ、碇ゲンドウの中のシンジ、みんなそれぞれ違う碇シンジだけど、どれも本物の碇シンジさ。
-- Episode:16 Splitting of the Breast
上記は、多態性とは関係ない。たぶん。
ぼくがオブジェクト指向について理解を得たのは、意外なことに Perl だった。
- An object is simply a reference that happens to know which class it belongs to.
[オブジェクトとは、単に自分が属するクラスを知っているリファレンスのことである]- A class is simply a package that happens to provide methods to deal with object references.
[クラスとは、単にオブジェクトリファレンスを扱うためのメソッドを提供するパッケージのことである]- A method is simply a subroutine that expects an object reference (or a package name, for class methods) as the first argument.
[メソッドとは、オブジェクトリファレンス (あるいは、静的メソッドには、パッケージ名) を最初の引数として期待するサブルーチンのことである]perldoc: perlobj - Perl Objects