~~核心編程(七):面向對象——多態~~


進擊の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文件!

(我覺得,你能看到這個位置,這些代碼應該不用我再仔細講)

(以后的文章也是,除非重要的需要講的代碼塊以外,都不會注釋)


*面向對象講完了*
*接下來就是硬貨*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM