#多型
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...