關於多態,多態就是上面兩種方式的結合,透過多態我們可以寫出各種各樣的程式。
看下圖:
多態即一個方法在父類別和子類別中存在著不同種用法,可以分別呼叫。
看下面的例子:
classBase:def__init__(self,name):self.name=nameprint('%s會讀書'%self.name)defreading(self):print('%s在讀文書'%self.name)classInherit_One(Base): defreading(self):print('%s在讀英文書'%self.name)classInherit_Two(Base):defreading(self):print('%s在看漫畫書'%self.name)a=Base('a')a.reading()b=Inherit_One ('b')b.reading()c=Inherit_Two('c')c.reading()
輸出結果為:
a會讀書a在讀語文書b會讀書b在讀英文書c會讀書c在看漫畫書
可以看出每個繼承者都重寫了reading方法,然後我們在調用這個方法的時候通過不同的類別去調用,這種方式可以幫助我們在不同類別中定義相同名字的不同方法,看似混亂,但是在我們現實中的各種管理系統當中往往都是離不開多態的使用。
透過這幾節的學習,想必大家都認識到了繼承和重寫的方法,關於多態則需要大家在實際問題中去多多練習掌握,面向對象聽起來比較抽象,但掌握起來並不太難。