ポリモーフィズム
ポリモーフィズムとは
ポリモーフィズムとは、日本語で多態性と言います。多態性とは、クラスの種類に関わらず、異なるオブジェクトに対して同じ操作を適用することです。
ポリモーフィズムの実装
説明を聞いてもわかりにくいと思うので、例を見ましょう。
# sample.py class Hero(): def __init__(self, name): self.name = name def speak(self): return "私は"+self.name+"です。" class Enemy(): def __init__(self, name): self.name = name def speak(self): return "我は"+self.name+"なり。" def self_introduction(obj): print(obj.speak()) hero = Hero('ヨシヒコ') enemy = Enemy('魔王') self_introduction(hero) self_introduction(enemy)
# 実行結果 (python sample.py)
私はヨシヒコです。
我は魔王なり。
上記が多態性の例です。同じspeakを持つオブジェクトを共通のインターフェイスを持つオブジェクトとして扱っています。つまり、異なるクラスのインスタンス(hero, enemy)を一つの関数(self_introduction)で扱えているということです。
最後に
お疲れ様でした。多態性は重要な概念です。ここではほんの一部しか説明していませんので、詳しく調べてみてください。