欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python 面向對象之多態

系統 2283 0

多態

多態指的是一類事物有多種形態

動物有多種形態:人,狗,豬

          
            import abc
class Animal(metaclass=abc.ABCMeta): #同一類事物:動物
    @abc.abstractmethod
    def talk(self):
        pass

class People(Animal): #動物的形態之一:人
    def talk(self):
        print('say hello')

class Dog(Animal): #動物的形態之二:狗
    def talk(self):
        print('say wangwang')

class Pig(Animal): #動物的形態之三:豬
    def talk(self):
        print('say aoao')
          
        

文件有多種形態:文本文件,可執行文件

          
            import abc
class File(metaclass=abc.ABCMeta): #同一類事物:文件
    @abc.abstractmethod
    def click(self):
        pass

class Text(File): #文件的形態之一:文本文件
    def click(self):
        print('open file')

class ExeFile(File): #文件的形態之二:可執行文件
    def click(self):
        print('execute file')
          
        

多態性

一 什么是多態動態綁定(在繼承的背景下使用時,有時也稱為多態性)

多態性是指在不考慮實例類型的情況下使用實例

在面向對象方法中一般是這樣表述多態性:
向不同的對象發送同一條消息(!!!obj.func():是調用了obj的方法func,又稱為向obj發送了一條消息func),不同的對象在接收時會產生不同的行為(即方法)。
也就是說,每個對象可以用自己的方式去響應共同的消息。所謂消息,就是調用函數,不同的行為就是指不同的實現,即執行不同的函數。

比如:老師.下課鈴響了(),學生.下課鈴響了(),老師執行的是下班操作,學生執行的是放學操作,雖然二者消息一樣,但是執行的效果不同

多態性

          
            peo=People()
dog=Dog()
pig=Pig()

#peo、dog、pig都是動物,只要是動物肯定有talk方法
#于是我們可以不用考慮它們三者的具體是什么類型,而直接使用
peo.talk()
dog.talk()
pig.talk()

#更進一步,我們可以定義一個統一的接口來使用
def func(obj):
    obj.talk()
          
        

鴨子類型

逗比時刻:

  Python崇尚鴨子類型,即‘如果看起來像、叫聲像而且走起路來像鴨子,那么它就是鴨子’

python程序員通常根據這種行為來編寫程序。例如,如果想編寫現有對象的自定義版本,可以繼承該對象

也可以創建一個外觀和行為像,但與它無任何關系的全新對象,后者通常用于保存程序組件的松耦合度。

例1:利用標準庫中定義的各種‘與文件類似’的對象,盡管這些對象的工作方式像文件,但他們沒有繼承內置文件對象的方法

例2:序列類型有多種形態:字符串,列表,元組,但他們直接沒有直接的繼承關系

          
            #二者都像鴨子,二者看起來都像文件,因而就可以當文件一樣去用
class TxtFile:
    def read(self):
        pass

    def write(self):
        pass

class DiskFile:
    def read(self):
        pass
    def write(self):
        pass
          
        

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级做一级爱a做片性视频视频 | 鲁丝片一区二区三区毛片 | 操日日 | 很黄很粗很湿很刺激的视频 | 人人人人澡 | 清清草免费视频 | 亚洲在线偷拍自拍 | 嫩草影院在线观看网站成人 | 亚洲精品综合一区二区三 | 久久精品一| 久草草视频在线观看免费高清 | 成人天堂资源www在线 | 国产成人自拍一区 | jizzzxxxxhd| 久久道| 国产午夜亚洲精品一区 | 护士hd欧美free性xxxx | 久久香蕉国产线看观看网站 | 91视频在线观看 | 色午夜日本 | www.夜夜操.com | 色xx综合网 | 国产精品久久久久久一级毛片 | 色网在线 | 性夜影院爽黄a爽在线看香蕉 | 国产xxxx搡xxxxx搡麻豆 | 成人免费视频观看视频 | www黄色免费 | 黄色免费高清网站 | 美女午夜影院 | 一级尻逼视频 | 亚洲一区二区免费视频 | 91精品天美精东蜜桃传媒免费 | 日韩乱轮 | k8久久久一区二区三区 | 小明www永久在线看 国产美女一区二区三区 | 天天色踪合 | 刑事侦缉档案1 | 成年人在线观看视频 | 亚洲高清资源 | 亚洲 欧洲 偷拍 校园 另类 |