ポリモーフィズム、継承

Pythonだとポリモーフィズムの為にJavaのように継承、IFなどを使わなくて良いそうだ。
クラスの中に同じメソッドがあれば良いらしい。
そういえばPythonって型の配列って無いんだっけ。だからそういう事できるのかな。

Pythonって継承はあるみたいだけど、IFはないみたい。

# objectを継承します
>>> class Behave(object):
...     def __init__(self, name):
...             self.name = name
...     def once(self):
...             print("Hello,",self.name)
...     def rename(self, newName):
...             self.name = newName
...     def repeat(self, N):
...             for i in range(N): self.once()
...

# Behaveを継承します
>>> class Subclass(Behave):
...     def once(self): print('%s' % self.name)
...
# オーバーライドできる
>>> subInstance = Subclass("Queen Bee")
>>> subInstance.repeat(3)
Queen Bee
Queen Bee
Queen Bee
>>>
>>> subInstance.once()
Queen Bee