Python多型和多型性

2021-10-02 15:56:52 字數 1070 閱讀 5370

python多型和多型性

python 中的多型是指一類事務有多種形態。比如動物有多種形態,人,狗,貓,等等。

import abc

class animal(metaclass=abc.abcmeta): #同一類事物:動物

@abc.abstractmethod

def talk(self):

pass

class people(animal): #動物的形態之一:人

def talk(self):

print(『say hello』)

class dog(animal): #動物的形態之二:狗

def talk(self):

print(『say wangwang』)

class pig(animal): #動物的形態之三:豬

def talk(self):

print(『say aoao』)

python的多型性是指:在不考慮例項型別的情況下使用例項,也就是說不同型別的例項有 相同的呼叫方法。比如人,貓,狗,等等只要是繼承了animal就可以直接呼叫它的talk()方法。

peo=people()

dog=dog()

pig=pig()

#peo、dog、pig都是動物,只要是動物肯定有talk方法

#於是我們可以不用考慮它們三者的具體是什麼型別,而直接使用

peo.talk()

dog.talk()

pig.talk()

#更進一步,我們可以定義乙個統一的介面來使用

def func(obj):

obj.talk()

使用多型性的好處:

1.增加了程式的靈活性

以不變應萬變,不論物件千變萬化,使用者都是同一種形式去呼叫,如func(animal)

2.增加了程式額可擴充套件性

通過繼承animal類建立了乙個新的類,使用者無需更改自己的**,還是用func(animal)去呼叫

python 多型性 Python 多型

返回python教程首頁 多型介紹多型之前,我們先看看什麼叫方法重寫。方法重寫 子類繼承父類,會繼承父類的所有方法,當父類方法無法滿足需求,可在子類中定義乙個同名方法覆蓋父類的方法,這就叫方法重寫。當子類的例項呼叫該方法時,優先呼叫子類自身定義的方法,因為它被重寫了。例如 class people ...

Python 多型與多型性

同一種事務的多種形態 就是多型 車有多種形態,你沒有具體學習某乙個物件,你是學的怎麼開車 這就是多型性 1 增加了程式的靈活性 以不變應萬變,不論物件千變萬化,使用者都是同一種形式去呼叫,如func animal 2 增加了程式可擴充套件性 通過繼承animal類建立了乙個新的類,使用者無需改變自己...

5 8 多型和多型性

多型指的是一類事物有多種形態,比如 動物有多種形態 人,狗,豬 import abc class animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod def talk self pass class people animal 動物的形態...