python 多型和鴨子型別

2021-10-18 17:28:33 字數 1531 閱讀 1531

#多型

class

animal()

:def

say(self)

:print

('動物在叫'

)class

people

(animal)

:def

say(self)

:super()

.say(

)print

('嚶嚶嚶'

)class

dog(animal)

:def

say(self)

:super()

.say(

)print

('汪汪汪'

)class

pig(animal)

:def

say(self)

:super()

.say(

)print

('哼哼哼'

)a=people(

)# a.say()

b=dog(

)# b.say()

c=pig(

)# c.say()

#統一介面

defanimal_say

(animal)

: animal.say(

)animal_say(a)

animal_say(b)

animal_say(c)

#鴨子型別:叫的像鴨子,走路像鴨子,你就是鴨子...

#python 推崇鴨子型別,不需要繼承同乙個父類,大家做的像一點,像鴨子,就認為你是鴨子

#栗子 統一,把cpu,mem,txt都做的和檔案差不多,統一介面

class

cpu():

defread

(self)

:print

('cpu read'

)def

write

(self)

:print

('cpu write'

)class

mem():

defread

(self)

:print

('mem read'

)def

write

(self)

:print

('mem write'

)class

txt():

defread

(self)

:print

('txt read'

)def

write

(self)

:print

('txt write'

)obj1=cpu(

)obj2=mem(

)obj3=txt(

)def

read_file

(obj)

: obj.read(

)read_file(obj1)

read_file(obj2)

read_file(obj3)

Python多型 鴨子型別

多型指的是一類事物有多種形態。動物有多種形態 人,狗,豬 import abcclass animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod deftalk self pass class people animal 動物的形態之一 人 ...

多型 多型性和鴨子型別

目錄多型指的是同一種事物有多種形態,比如水有液態 固態和氣態。乙個抽象類有多個子類,因而多型的概念依賴於繼承。class animal def talk self pass class dog animal def talk self print 汪汪汪 class cat animal def t...

多型及多型性和鴨子型別

多型及多型性 多型指的是同一類 種事物的不同形態 其實就是繼承關係的表現 多型只是一種格式形態,它的主要體現是多型性 多型性在類中的簡單表現形式 class animal def run self print run fast class mouse animal def sound self pr...