多態性
Polymorphism
オブジェクトに対して、同じメッセージを伝えると、そのオブジェクトによってメッセージに応じた振る舞いを行うこと。
鳥に「飛べ」と伝える。鳥は飛ぶ。
ヘリコプターに「飛べ」と伝える。ヘリコプターは飛ぶ。
鳥とヘリコプターとは飛び方が根本的に異なる。
鳥はヘリコプターの一種ではない。
ヘリコプターは鳥の一種ではない。
どちらかというと、1つのオブジェクトが複数のインターフェースを持ち得ることの方が語義として正しいかも?
実装方法としては以下のような方法がある。
インスタンスに型/インターフェース情報を載せる。
辞書を使う
名前で検索
キーで検索
インデックス番号を使う
Keyword: ポリモーフィズム