欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python3中如何使用抽象類

這篇文章主要介紹python3中如何使用抽象類,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

目前創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、宜川網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

從設(shè)計(jì)角度去看,如果類是從現(xiàn)實(shí)對(duì)象抽象而來(lái)的,那么抽象類就是基于類抽象而來(lái)的。

從實(shí)現(xiàn)角度來(lái)看,抽象類與普通類的不同之處在于:抽象類中有抽象方法,該類不能被實(shí)例化,只能被繼承,且子類必須實(shí)現(xiàn)抽象方法。這一點(diǎn)與接口有點(diǎn)類似,但其實(shí)是不同的

#一切皆文件
import abc #利用abc模塊實(shí)現(xiàn)抽象類
 
class All_file(metaclass=abc.ABCMeta):
    all_type='file'
    @abc.abstractmethod #定義抽象方法,無(wú)需實(shí)現(xiàn)功能
    def read(self):
        '子類必須定義讀功能'
        pass
 
    @abc.abstractmethod #定義抽象方法,無(wú)需實(shí)現(xiàn)功能
    def write(self):
        '子類必須定義寫功能'
        pass
 
# class Txt(All_file):
#     pass
#
# t1=Txt() #報(bào)錯(cuò),子類沒有定義抽象方法
 
class Txt(All_file): #子類繼承抽象類,但是必須定義read和write方法
    def read(self):
        print('文本數(shù)據(jù)的讀取方法')
 
    def write(self):
        print('文本數(shù)據(jù)的讀取方法')
 
class Sata(All_file): #子類繼承抽象類,但是必須定義read和write方法
    def read(self):
        print('硬盤數(shù)據(jù)的讀取方法')
 
    def write(self):
        print('硬盤數(shù)據(jù)的讀取方法')
 
class Process(All_file): #子類繼承抽象類,但是必須定義read和write方法
    def read(self):
        print('進(jìn)程數(shù)據(jù)的讀取方法')
 
    def write(self):
        print('進(jìn)程數(shù)據(jù)的讀取方法')
 
wenbenwenjian=Txt()
 
yingpanwenjian=Sata()
 
jinchengwenjian=Process()
 
#這樣大家都是被歸一化了,也就是一切皆文件的思想
wenbenwenjian.read()
yingpanwenjian.write()
jinchengwenjian.read()
 
print(wenbenwenjian.all_type)
print(yingpanwenjian.all_type)
print(jinchengwenjian.all_type)

擴(kuò)展:

不管是抽象類還是接口類:面向?qū)ο蟮拈_發(fā)規(guī)范 所有的接口類和抽象類都不能實(shí)例化

java :

java里的所有類的繼承都是單繼承,所以抽象類完美的解決了單繼承需求中的規(guī)范問題

但對(duì)于多繼承的需求,由于java本身語(yǔ)法的不支持,所以創(chuàng)建了接口Interface這個(gè)概念來(lái)解決多繼承的規(guī)范問題

python中沒有接口類:

python中自帶多繼承 所以我們直接用class來(lái)實(shí)現(xiàn)了接口類

python中支持抽象類: 一般情況下單繼承不能實(shí)例化且可以實(shí)現(xiàn)python代碼

以上是python3中如何使用抽象類的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞標(biāo)題:python3中如何使用抽象類
網(wǎng)頁(yè)路徑:http://chinadenli.net/article40/gjcgeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、搜索引擎優(yōu)化網(wǎng)站策劃、網(wǎng)站建設(shè)微信小程序、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)