python中有沒有接口?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元南川做網(wǎng)站,已為上家服務(wù),為南川各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575接口只是定義了一些方法,而沒有去實(shí)現(xiàn),多用于程序設(shè)計(jì)時(shí),只是設(shè)計(jì)需要有什么樣的功能,但是并沒有實(shí)現(xiàn)任何功能,這些功能需要被另一個(gè)類(B)繼承后,由 類B去實(shí)現(xiàn)其中的某個(gè)功能或全部功能。
python沒有接口,但是在python中由抽象類和抽象方法去實(shí)現(xiàn)接口功能,接口是不能被實(shí)例化的,只能被別的類繼承去實(shí)現(xiàn)相應(yīng)的功能。
個(gè)人覺得接口在python中并沒有那么重要,因?yàn)槿绻^承接口,需要把其中的每個(gè)方法全部實(shí)現(xiàn),否則會報(bào)編譯錯(cuò)誤,還不如直接定義一個(gè)class,其中的方法實(shí)現(xiàn)全部為pass,讓子類重寫這些函數(shù)。
當(dāng)然如果有強(qiáng)制要求,必須所有的實(shí)現(xiàn)類都必須按照接口中的定義寫的話,就必須要用接口。
用抽象類和抽象函數(shù)實(shí)現(xiàn)方法
#抽象類加抽象方法就等于面向?qū)ο缶幊讨械慕涌?from abc import ABCMeta,abstractmethod class interface(object): __metaclass__ = ABCMeta #指定這是一個(gè)抽象類 @abstractmethod #抽象方法 def Lee(self): pass def Marlon(self): pass class RelalizeInterfaceLee(interface):#必須實(shí)現(xiàn)interface中的所有函數(shù),否則會編譯錯(cuò)誤 def __init__(self): print '這是接口interface的實(shí)現(xiàn)' def Lee(self): print '實(shí)現(xiàn)Lee功能' def Marlon(self): pass class RelalizeInterfaceMarlon(interface): #必須實(shí)現(xiàn)interface中的所有函數(shù),否則會編譯錯(cuò)誤 def __init__(self): print '這是接口interface的實(shí)現(xiàn)' def Lee(self): pass def Marlon(self): print "實(shí)現(xiàn)Marlon功能"
感謝各位的閱讀!看完上述內(nèi)容,你們對python中有沒有接口大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道。