Python基礎(chǔ)類繼承重寫實(shí)現(xiàn)原理解析
1.繼承
繼承是面向?qū)ο笕筇匦灾?/p>
- 通過繼承我們可以使用一個(gè)類獲取到其他類中的屬性和方法- 在定義類時(shí),可以在類名后的括號(hào)中指定當(dāng)前類的父類(超類、基類、super)- 子類(衍生類)可以直接繼承父類中的所有的屬性和方法
注意事項(xiàng):
a.在創(chuàng)建類時(shí),如果省略了父類,則默認(rèn)父類為object, object是所有類的父類,所有類都繼承自object。
b. isinstance()用來檢查一個(gè)對(duì)象是否是一個(gè)類的實(shí)例
如果這個(gè)類是這個(gè)對(duì)象的父類,也會(huì)返回True
所有的對(duì)象都是object的實(shí)例
2.多重繼承
在Python中是支持多重繼承的,也就是我們可以為一個(gè)類同時(shí)指定多個(gè)父類
可以在類名的()后邊添加多個(gè)類,來實(shí)現(xiàn)多重繼承
多重繼承,會(huì)使子類同時(shí)擁有多個(gè)父類,并且會(huì)獲取到所有父類中的方法
如果多個(gè)父類中有同名的方法,則會(huì)現(xiàn)在第一個(gè)父類中尋找,然后找第二個(gè),然后找第三個(gè)。。。前邊父類的方法會(huì)覆蓋后邊父類的方法。
注意:
類名.__bases__ 這個(gè)屬性可以用來獲取當(dāng)前類的所有父類
多重繼承示例:
class A(object): def test(self): print(’AAA’)class B(object): def test(self): print(’B中的test()方法~~’) def test2(self): print(’BBB’) class C(A,B): passc = C()c.test()# 執(zhí)行結(jié)果:AAA
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. idea不能自動(dòng)補(bǔ)全yml配置文件的原因分析2. 教你如何寫出可維護(hù)的JS代碼3. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享4. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)5. 使用Python和百度語音識(shí)別生成視頻字幕的實(shí)現(xiàn)6. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算7. Vue的Options用法說明8. css代碼優(yōu)化的12個(gè)技巧9. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法10. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?
