什麼是多型
多型,按字面的意思就是「多種狀態」。在物件導向語言中,介面的多種不同的實現方式即為多型。
多型的目的:就是指不同的物件的,同狀態下的,做出的不同表現形式
python中的鴨子型別
python中沒有多型,但是可以用鴨子型別實現多型。
鴨子型別主要原因:python中引數是無型別的
init() 是乙個最典型的鴨子型別 ( 多型)
class
person:
defspeak
(self):
print('說話....')
class
america
(person):
defspeak
(self):
print('美國人說:你好')
class
thai
(person):
defspeak
(self):
print('泰國人說,你好')
class
chinese
(person):
defspeak
(self):
print('中國人說,你好')
defsay
(personobj):
personobj.speak()
xiaoming = chinese()
jack = america()
tai = thai()
say(xiaoming)
say(jack)
say(tai)
執行結果
中國人說,你好
美國人說:你好
泰國人說,你好
python的鴨子型別
這次簡單介紹下 鴨子型別的概念。當看到乙隻鳥走起來像鴨子 游泳起來像鴨子 叫起來也像鴨子,那麼這只鳥就可以被稱為鴨子。鴨子型別關注點在物件的行為,而不是型別。在 python 和 go 中都可以實現鴨子型別。示例 如下 class duck def init self,name self.name ...
Python多型 鴨子型別
多型指的是一類事物有多種形態。動物有多種形態 人,狗,豬 import abcclass animal metaclass abc.abcmeta 同一類事物 動物 abc.abstractmethod deftalk self pass class people animal 動物的形態之一 人 ...
Python列表和鴨子型別
列表可以說是python最重要的資料結構,因為python具有正交性,所以我們可以從list中的特性推測出其他資料結構的基本的特性。python具備了鴨子特性和,讓其語言具有極強的表達性。1 list 函式 list obj 可以把一切序列轉換為list。同時我們可以推測只要是序列,所以obj可以是...