課程
/后端開發(fā)
/Python
/python必學(xué)模塊-collections
python的抽象基類和java的abstact class和interface的區(qū)別是什么
2018-09-12
源自:python必學(xué)模塊-collections 1-1
正在回答
java的繼承模式是只能繼承一個類,但是可以繼承多個接口。這個是為了代碼重用和設(shè)計便于理解。
python的抽象基類在很多程度上并不是為了解決這個問題,python的抽象基類最重要的是為了實現(xiàn)類別的判斷以及強制實現(xiàn)某些方法,從概念上來講聽起來好像差不多,但實際上你對python的抽象基類了解以后,也會發(fā)現(xiàn)在python中判斷某個類型的類別實際上還是去判斷某個類是否有某個具體的方法,所以本質(zhì)上python是基于協(xié)議的一種語言,也就是方法名稱更重要, 抽象基類只不過是是的判斷某個類具有哪些方法名用起來更方便而已。所以你可以發(fā)現(xiàn)你如果某個類中實現(xiàn)了某個方法, 如果這個方法正好和某個抽象類的方法名一致,你即使不繼承這個抽象基類你也會判斷到你當(dāng)前的類是基類的實例,所以抽象基類并不是很重要,方法名是最重要的
但是java的類型則是嚴格的繼承關(guān)系,最多是可以動態(tài)的將某個子類賦給父類而已
舉報
快速理解python中基于基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的高級數(shù)據(jù)結(jié)構(gòu),讓代碼更精簡且高效。
1 回答python有一定基礎(chǔ),想進階該看什么書,或者學(xué)習(xí)什么
1 回答求大神賜教
1 回答xadmin對象級權(quán)限實現(xiàn)報錯?
1 回答源碼在哪里下載?老師github是?
2 回答如果提問太多,會直接頂下去嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-09-14
java的繼承模式是只能繼承一個類,但是可以繼承多個接口。這個是為了代碼重用和設(shè)計便于理解。
python的抽象基類在很多程度上并不是為了解決這個問題,python的抽象基類最重要的是為了實現(xiàn)類別的判斷以及強制實現(xiàn)某些方法,從概念上來講聽起來好像差不多,但實際上你對python的抽象基類了解以后,也會發(fā)現(xiàn)在python中判斷某個類型的類別實際上還是去判斷某個類是否有某個具體的方法,所以本質(zhì)上python是基于協(xié)議的一種語言,也就是方法名稱更重要, 抽象基類只不過是是的判斷某個類具有哪些方法名用起來更方便而已。所以你可以發(fā)現(xiàn)你如果某個類中實現(xiàn)了某個方法, 如果這個方法正好和某個抽象類的方法名一致,你即使不繼承這個抽象基類你也會判斷到你當(dāng)前的類是基類的實例,所以抽象基類并不是很重要,方法名是最重要的
但是java的類型則是嚴格的繼承關(guān)系,最多是可以動態(tài)的將某個子類賦給父類而已