比如上課時,老師對全班同學說:「大家把自己的名字寫在各自的作業本上」,這時候,張三會在張三的本子上寫上「張三」的名字,李四會在李四的作業本上寫上「李四」的名字,王五會在王五的作業本上寫上「王五」的名字,而老師口中的「自己」,此時在這裡代表了班上不同的人,而寫名字這件事,大家也都寫上了各自的名字。這就是多型性。
延伸到python中,同乙個變數「自己」,呼叫同乙個方法「寫名字」,但是不同類的物件(張
三、李四、王五)在執行「寫名字」函式時,執行的是各自「寫名字」的方法。
下面展示一些多型性**示例
。
```python
# **示例
class animals(object):
def run(self):
print ("animal is running")
class dog(animals):
def run(self):
print ("dog is running")
class cat(animals):
def run(self):
print ("cat is running")
dog和cat繼承了animals,同時繼承了run方法,並且各自做了修改
當同乙個物件a,指向不同的物件示例時,會執行各自的run()方法
a = animals()
a.run()
a = dog()
a.run()
a = cat()
a.run()
**可見:同乙個變數在執行同乙個函式時,變數名相同,引數相同的情況下,會根據a指向的例項物件不同,在程式執行時呼叫不同的run()方法,這就是多型性。
python 多型性 Python 多型
返回python教程首頁 多型介紹多型之前,我們先看看什麼叫方法重寫。方法重寫 子類繼承父類,會繼承父類的所有方法,當父類方法無法滿足需求,可在子類中定義乙個同名方法覆蓋父類的方法,這就叫方法重寫。當子類的例項呼叫該方法時,優先呼叫子類自身定義的方法,因為它被重寫了。例如 class people ...
Python 多型與多型性
同一種事務的多種形態 就是多型 車有多種形態,你沒有具體學習某乙個物件,你是學的怎麼開車 這就是多型性 1 增加了程式的靈活性 以不變應萬變,不論物件千變萬化,使用者都是同一種形式去呼叫,如func animal 2 增加了程式可擴充套件性 通過繼承animal類建立了乙個新的類,使用者無需改變自己...
Python多型和多型性
python多型和多型性 python 中的多型是指一類事務有多種形態。比如動物有多種形態,人,狗,貓,等等。import abc class animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod def talk self pass cl...