最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python學(xué)習(xí)手冊(cè)中的python多態(tài)示例代碼

 更新時(shí)間:2014年01月21日 09:29:39   作者:  
多態(tài)是面向?qū)ο笳Z(yǔ)言的一個(gè)基本特性,多態(tài)意味著變量并不知道引用的對(duì)象是什么,根據(jù)引用對(duì)象的不同表現(xiàn)不同的行為方式,下面使用一個(gè)示例學(xué)習(xí)他的使用方法

在處理多態(tài)對(duì)象時(shí),只需要關(guān)注它的接口即可,python中并不需要顯示的編寫(xiě)(像Java一樣)接口,在使用對(duì)象的使用先假定有該接口,如果實(shí)際并不包含,在運(yùn)行中報(bào)錯(cuò)。

復(fù)制代碼 代碼如下:

class handGun():
    def __init__(self):
        pass
    def fire(self):
        print 'handGun fire'

class carbine():
    def __init__(self):
        pass
    def fire(self):
        print 'carbine fire'

import handGun
import carbine
class gunFactory():
    def __init__(self,gun_type):
        self.gun_type = gun_type
    def produce(self):
        if handGun == self.gun_type:
            return handGun.handGun()
        else:
            return carbine.carbine()

客戶端

復(fù)制代碼 代碼如下:

fa = gunFactory(handGun)
gun = fa.produce()

/*只要是槍,就認(rèn)為它具有開(kāi)火的功能,如果沒(méi)有開(kāi)火的功能,程序運(yùn)行中就報(bào)錯(cuò)*/
gun.fire()

可以看到跟一般的靜態(tài)語(yǔ)言相比,python并沒(méi)有在語(yǔ)言級(jí)別來(lái)保證接口的正確性,只能依靠文檔、代碼來(lái)保證(可以在代碼中檢查接口是否存在,hasattr(gun,'fire'))

相關(guān)文章

  • Python給PDF添加水印的代碼步驟

    Python給PDF添加水印的代碼步驟

    在本教程中,我們將學(xué)習(xí)如何使用 Python 編程語(yǔ)言以及 PyPDF2 和 reportlab 庫(kù)來(lái)向 PDF 文檔中添加水印,水印通常用于標(biāo)記文檔的版權(quán)信息、保密級(jí)別或其他重要通知,需要的朋友可以參考下
    2025-02-02
  • python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟

    python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟

    本文主要介紹了python文件編譯為pyc后運(yùn)行的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python冒泡排序注意要點(diǎn)實(shí)例詳解

    Python冒泡排序注意要點(diǎn)實(shí)例詳解

    本文給大家介紹了python冒泡排序知識(shí),涉及到冒泡排序主要的細(xì)節(jié)問(wèn)題,本文通過(guò)實(shí)例代碼給大家講解,介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-09-09
  • Python編程中非常重要卻又被嚴(yán)重低估的庫(kù)decorator

    Python編程中非常重要卻又被嚴(yán)重低估的庫(kù)decorator

    今天介紹的是一個(gè)已經(jīng)存在十年,但是依舊不紅的庫(kù) decorator,好像很少有人知道他的存在一樣。本篇文章不會(huì)過(guò)多的向你介紹裝飾器的基本知識(shí),我會(huì)默認(rèn)你知道什么是裝飾器,并且懂得如何寫(xiě)一個(gè)簡(jiǎn)單的裝飾器
    2021-10-10
  • Python使用socketServer包搭建簡(jiǎn)易服務(wù)器過(guò)程詳解

    Python使用socketServer包搭建簡(jiǎn)易服務(wù)器過(guò)程詳解

    這篇文章主要介紹了Python使用socketServer包搭建簡(jiǎn)易服務(wù)器過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python中的被動(dòng)信息搜集

    python中的被動(dòng)信息搜集

    這篇文章主要介紹了python中的被動(dòng)信息搜集的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python常見(jiàn)MongoDB數(shù)據(jù)庫(kù)操作實(shí)例總結(jié)

    Python常見(jiàn)MongoDB數(shù)據(jù)庫(kù)操作實(shí)例總結(jié)

    這篇文章主要介紹了Python常見(jiàn)MongoDB數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式詳細(xì)總結(jié)了Python針對(duì)MongoDB數(shù)據(jù)庫(kù)相關(guān)pymongo庫(kù)安裝以及MongoDB數(shù)據(jù)庫(kù)的增刪改查等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Python編程中閉包的變量作用域問(wèn)題解析

    Python編程中閉包的變量作用域問(wèn)題解析

    這篇文章主要介紹了Python編程中閉包的變量作用域問(wèn)題解析,在學(xué)習(xí)Python的返回函數(shù)的時(shí)候,我發(fā)現(xiàn)里面涉及了幾個(gè)問(wèn)題,在這里為大家分享講解下
    2021-10-10
  • Python通過(guò)VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作詳解

    Python通過(guò)VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作詳解

    這篇文章主要介紹了Python通過(guò)VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用VGG16模型實(shí)現(xiàn)圖像風(fēng)格轉(zhuǎn)換的具體原理、操作步驟與實(shí)現(xiàn)方法,需要的朋友可以參考下
    2020-01-01
  • 一文教你利用Python制作一個(gè)C盤(pán)清理器

    一文教你利用Python制作一個(gè)C盤(pán)清理器

    關(guān)于電腦的垃圾清理操作,已經(jīng)有很多的成熟的軟件可以幫助我們完成C盤(pán)的垃圾清理操作,比如360等等。但是使用三方的清理軟件往往伴隨著很多的廣告,所以本文就來(lái)用Python制作一個(gè)C盤(pán)清理器吧
    2023-03-03

最新評(píng)論

剑川县| 定日县| 明光市| 邯郸县| 朝阳市| 东山县| 樟树市| 澄江县| 白水县| 乌苏市| 玉树县| 门源| 房产| 河北省| 白河县| 新邵县| 偏关县| 西乡县| 泗阳县| 报价| 麻江县| 丰顺县| 定州市| 玉溪市| 洪泽县| 万山特区| 遂溪县| 双牌县| 大城县| 南澳县| 澎湖县| 罗江县| 晋城| 利辛县| 汨罗市| 镇巴县| 庄河市| 宜都市| 长寿区| 麻栗坡县| 二连浩特市|