python的繼承 多型及鴨子型別特點

2021-10-07 12:30:11 字數 1007 閱讀 2027

class animal(object):   #編寫animal類

def run(self):

print(

"animal is running..."

)class dog(animal): #dog類繼承amimal類,沒有run方法

pass

class cat(animal): #cat類繼承animal類,有自己的run方法

def run(self):

print(

'cat is running...'

)class car(object): #car類不繼承,有自己的run方法

def run(self):

print(

'car is running...'

)class stone(object): #stone類不繼承,也沒有run方法

pass

def run_twice(animal):

animal.run(

) animal.run(

)run_twice(animal(

))run_twice(dog(

))run_twice(cat(

))run_twice(car(

))run_twice(stone(

))

執行結果:

animal is running...

animal is running...

animal is running...#體現繼承

animal is running...

cat is running...#體現多型

cat is running...

car is running...#體現鴨子型別

car is running...

attributeerror: 'stone' object has no attribute 'run'

Python多型 鴨子型別

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

python 多型和鴨子型別

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

多型及多型性和鴨子型別

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