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