Python基礎(chǔ)類(lèi)繼承重寫(xiě)實(shí)現(xiàn)原理解析
1.繼承
繼承是面向?qū)ο笕筇匦灾?/p>
- 通過(guò)繼承我們可以使用一個(gè)類(lèi)獲取到其他類(lèi)中的屬性和方法- 在定義類(lèi)時(shí),可以在類(lèi)名后的括號(hào)中指定當(dāng)前類(lèi)的父類(lèi)(超類(lèi)、基類(lèi)、super)- 子類(lèi)(衍生類(lèi))可以直接繼承父類(lèi)中的所有的屬性和方法
注意事項(xiàng):
a.在創(chuàng)建類(lèi)時(shí),如果省略了父類(lèi),則默認(rèn)父類(lèi)為object, object是所有類(lèi)的父類(lèi),所有類(lèi)都繼承自object。
b. isinstance()用來(lái)檢查一個(gè)對(duì)象是否是一個(gè)類(lèi)的實(shí)例
如果這個(gè)類(lèi)是這個(gè)對(duì)象的父類(lèi),也會(huì)返回True
所有的對(duì)象都是object的實(shí)例
2.多重繼承
在Python中是支持多重繼承的,也就是我們可以為一個(gè)類(lèi)同時(shí)指定多個(gè)父類(lèi)
可以在類(lèi)名的()后邊添加多個(gè)類(lèi),來(lái)實(shí)現(xiàn)多重繼承
多重繼承,會(huì)使子類(lèi)同時(shí)擁有多個(gè)父類(lèi),并且會(huì)獲取到所有父類(lèi)中的方法
如果多個(gè)父類(lèi)中有同名的方法,則會(huì)現(xiàn)在第一個(gè)父類(lèi)中尋找,然后找第二個(gè),然后找第三個(gè)。。。前邊父類(lèi)的方法會(huì)覆蓋后邊父類(lèi)的方法。
注意:
類(lèi)名.__bases__ 這個(gè)屬性可以用來(lái)獲取當(dāng)前類(lèi)的所有父類(lèi)
多重繼承示例:
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能2. Python-openpyxl表格讀取寫(xiě)入的案例詳解3. JavaScript實(shí)現(xiàn)留言板實(shí)戰(zhàn)案例4. 資深程序員:給Python軟件開(kāi)發(fā)測(cè)試的25個(gè)忠告!5. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)6. JS中6個(gè)對(duì)象數(shù)組去重的方法7. 使用Blazor框架實(shí)現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel8. ASP基礎(chǔ)知識(shí)Command對(duì)象講解9. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備