markdown
#說明
多型參考網路上的說法是:呼叫同名的方法時會去執行不同方法實作,則屬於多型。
以下的範例是,在 A 和 B 就是執行"多型"的這個行為。
<這裡延續上一篇 Python 繼承的code>
#操作流程
##Code
```
class Animal:
name = ''
# __private = ''
def __init__(self, name):
self.name = name
def walk(self):
print('walking')
def eat(self):
print('eating')
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
def walk(self):
print('{0} using foot walk'.format(self.name))
def eat(self):
print('{0} eat bone'.format(self.name))
class Duck(Animal):
def __init__(self, name):
super().__init__(name)
def walk(self):
print('{0} using two foot walk'.format(self.name))
def eat(self):
print('{0} eat worm'.format(self.name))
A = Dog('Dog')
A.eat()
A.walk()
B = Duck('Duck')
B.eat()
B.walk()
```
##輸出
##參考
- Python物件導向程式設計之繼承與多型
- Day24-多型
- Python 速查手冊6.9 多重繼承
- DAY08-搞懂Python的OOP
留言
張貼留言