您好,登錄后才能下訂單哦!
這篇文章主要介紹了python抽象類的作用,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
抽象類,就像是類和接口的混合體,具有接口的特性,在python中利用第三方abc模塊,實(shí)現(xiàn)抽象類。
抽象方法不存在重寫的問題,卻有實(shí)現(xiàn)的問題
如果說類是從一堆對(duì)象中抽取相同的內(nèi)容而來的,那么抽象類就是從一堆類中抽取相同的內(nèi)容而來的,內(nèi)容包括數(shù)據(jù)屬性和函數(shù)屬性。
含有抽象方法的類一定是抽象類,但是抽象類不一定含有抽象方法,此時(shí)也沒有任何意義了。
在python中接口(抽象類)常用于協(xié)同工作。
注意:在python中,我們不以有無執(zhí)行體來區(qū)分是否是抽象類,而是根據(jù)是否有@abc.abstractmethod裝飾器作為標(biāo)準(zhǔn)。
#注意:不能直接實(shí)例化抽象類?。?! #示例程序: import abc #導(dǎo)入abc模塊 class InMa(metaclass=abc.ABCMeta): #定義抽象方法 @abc.abstractmethod #定義抽象方法 def login(self): pass @abc.abstractmethod def zhuce(self): pass class Login(InMa): #繼承抽象類 def __inti__(self,name,pwd): self.name = name self.password = pwd def login(self): #實(shí)現(xiàn)抽象方法功能 if self.name == "qq" and self.password == "111": print("恭喜登錄成功") else: print("登錄失敗") class Zc(Login): def __init__(self,name,pwd): self.name = name self.password = pwd def zhuce(self): print("恭喜注冊(cè)成功") print("username:",self.name) print("password:",self.password) #實(shí)例對(duì)象 ren = Zc("Jaue","qqq") ren.zhuce()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python抽象類的作用內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。