進擊のpython
多態
多態,什么叫多態?
多態拆開就是多種狀態
什么是多種狀態呢?
姑娘還有兩副面孔呢┗|`O′|┛ 嗷~~
怎么說呢?多種狀態更純粹更現實的來說
就是要對不一樣的對象有不一樣的處理方法
比如說你的電腦里有一個wps軟件是吧
當你雙擊一個pdf文件,或者雙擊一個doc文件的時候
其實都是先打開wps軟件,然后看看是什么樣子的數據類型
然后再打開相應的文檔編輯器
面向對象里 類 也有這個特性
比如我們先定義一個動物類
然后我想整個動物叫,怎么說呢?
我傳進來個狗,打印個汪汪汪
我傳進來個貓,打印個喵喵喵
怎么做?
class Dogs(object):
def sound(self):
print("汪汪汪!")
pass
class Cats(object):
def sound(self):
print("喵喵喵!")
pass
def Animals(animals):
animals.sound()
pass
d = Dogs()
c = Cats()
Animals(d)
Animals(c)
汪汪汪!
喵喵喵!
為什么有多態的這種感覺呢?
是因為這樣就把這個動物叫的方法的口統一了
無論是什么動物,調用方法就是Animals
這樣就保證了調用的統一
這也就是一個接口的多種形態
也就是多態
那我們簡單知道了多態之后
我們試試模擬一下這個wps打開文件的方式
class Pdf(object):
def show(self):
print("打開了PDF文件!")
pass
class Word(object):
def show(self):
print("打開了Word文件!")
pass
def open(file):
file.show()
a = Pdf()
b = Word()
c = Pdf()
for i in (a, b, c):
i.show()
打開了PDF文件!
打開了Word文件!
打開了PDF文件!
(我覺得,你能看到這個位置,這些代碼應該不用我再仔細講)
(以后的文章也是,除非重要的需要講的代碼塊以外,都不會注釋)