【ぽりもーふぃずむ】
ポリモーフィズム とは?
最終更新:
💡 共通の操作で、種類に応じた振る舞いを使う
共通の操作や記述で、異なる型の値を扱う考え方。オブジェクト指向では共通のインターフェースを通して型に応じた振る舞いを使う例があり、広い意味ではジェネリクスなども含む。
📌 このページのポイント
同じ命令で違う動きをするって、どういうこと?
たとえば共通のspeak()という操作で、犬は「ワン」、猫は「ニャー」、鳥は「ピヨ」と返す例だよ。利用側は共通の操作の契約を使い、実際の振る舞いは対象の型に応じて変わる。これはサブタイプ多態性の例なんだ。
何が便利なの?
呼び出す側を、共通のインターフェースに依存する形にできるよ。契約を満たす新しい型を加えたとき、利用側の変更を減らせる場合がある。ただし、型が違っても意味や必要な振る舞いが合うことは確認するんだ。
オーバーライドとオーバーロードは違うの?
継承がない言語では使えない?
多態性は、すべて実行時に処理が切り替わるの?
まとめ:ざっくりこれだけ覚えればOK!
「ポリモーフィズム」って出てきたら「異なる型を、共通の操作や記述で扱う考え方」と思えばだいたいOK!
📖 おまけ:英語の意味
「Polymorphism」 = 異なる形をとること
💬 異なる形をとるという意味の言葉だよ。プログラミングでは、異なる型に対して共通の操作や記述を使う考え方を表す。動物ごとに鳴き方が変わる例は、その一つの形なんだ。