一、主題介紹:
在 Python 中,講到方法多載是在類別裡使用相同的方法名稱,但參數的數量不同,當建立物建後調用類別方法就會根據不同的參數數量來選擇執行哪個方法。不過,Python 並不支援傳統意義上的方法多載 ( 像 Java,C++ 一樣 ),因為你在類別裡面定義多個相同名稱的方法,最後後面定義的方法會覆蓋前面的,雖是如此,但我們可以使用一種方式來模擬這個多載的功能。
二、應用程式:
class SelfIntroduction:
def speak(self,name=0,sex=0,age=0):
if name!=0 and sex!=0 and age!=0:
print("我的名字是",name,",","是個",sex,",","今年",age,"歲","。")
elif name!=0 and sex!=0:
print("我的名字是",name,",","是個",sex,"。")
else:
print("我的名字是",name,"。")
people = SelfIntroduction()
people.speak("Joe")
people.speak("Andy","男生")
people.speak("Mary","女生",18)
#執行結果 ..
我的名字是 Joe 。
我的名字是 Andy , 是個 男生 。
我的名字是 Mary , 是個 女生 , 今年 18 歲 。
三、程式說明:
在程式中使用了巧妙方法,將每個參數預設值為 0,然後透過參數為 0 的數量來判斷該執行哪個列印程式,建立物建後調用相同類別方法,使用不同參數的數量就可以表現出具有多載功能的物件導向程式設計了。
沒有留言:
張貼留言