Python ポリモーフィズム

ポリモーフィズムとは

ポリモーフィズムとは、日本語に訳すと”多様性、多態性”です。プログラミング用語としては、オブジェクト指向のプログラミングに使用するクラスの種別によらず、異なるオブジェクトに対して同じ操作を適用する、ということです。

コードを書いてみましょう

実際に例文を作ってみましょう。

  Fatherというクラスを定義しまず。コンストラクタでnameの属性を定義します。次にtalkのメソッドを定義し、自己紹介文を返します。 続いてSonというクラスを定義します。同じようにコンストラクタでnameの属性を定義します。talkのメソッドを定義し、同じように自己紹介文を返します。 次にポリモーフィズムに基づく関数self_introduceを定義します。先程の2つのクラスとは独立関係にあります。 2つのクラスをインスタンス化します。 最後に、self_introduce関数を読み出し、引数にfather,sonを渡します。

すると、同じオブジェクトから異なったメソッドが実行されました。  

まとめ

このように、使用するクラスの種別によらず異なるオブジェクトに対して同じ操作を適用ということが簡単に実行できるのがポリモーフィズムです。 この操作は非常に多くの実践の場で使いみちがあるのではないでしょうか?

継承

インスタンス変数の隠ぺい

連載目次

初心者にもわかるオブジェクト指向

クラス

継承

ポリモーフィズム

インスタンス変数の隠ぺい

オーバーライドと多重継承

クラスメソッド

名前空間

グローバル変数とローカル変数の使い方

クラス変数にメソッドからアクセスする場合

カプセル化、プロパティ、ゲッター、セッターについての解説