溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python抽象類的作用

發(fā)布時(shí)間:2020-11-10 11:02:11 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

這篇文章主要介紹了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í)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI