請提供python 物件導向程式設計的Polymorphism知識,並給1個程式範例
时间: 2023-06-01 09:02:02 浏览: 144
物件導向程式設計講義-Java
Polymorphism是指同一物件或方法可以在不同情境下呈現不同的形式或行為。在Python中,Polymorphism可以透過多種方式實現,例如方法重載、覆寫父類別方法、使用抽象類別等等。
以下是一個簡單的程式範例,展示Polymorphism的應用:
```
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
class Cat(Animal):
def speak(self):
return "Meow!"
class Bird(Animal):
def speak(self):
return "Tweet!"
animals = [Dog("Rufus"), Cat("Whiskers"), Bird("Tweety")]
for animal in animals:
print(animal.name + " says " + animal.speak())
```
在這個範例中,我們建立了一個Animal類別,並讓Dog、Cat、Bird三個子類別繼承Animal。每個子類別都有自己的speak方法,分別回傳不同的動物叫聲。
在主程式中,我們建立了一個animals列表,裡面包含三個不同種類的動物。利用迴圈,我們逐一印出每個動物的名字和叫聲。這裡的Polymorphism表現在,雖然每個動物的speak方法不同,但我們可以統一地呼叫它們,並得到不同的回傳值。
阅读全文