python單繼承和多繼承如何定義?
一、繼承的作用
減少代碼,增加代碼的復(fù)用功能,同時(shí)可以設(shè)置類(lèi)與類(lèi)直接的關(guān)系。
二、單繼承和多繼承定義
單繼承:每個(gè)類(lèi)只能繼承一個(gè)類(lèi);
多繼承:每個(gè)類(lèi)允許繼承多個(gè)類(lèi)。
三、單繼承和多繼承優(yōu)缺點(diǎn)
1、單繼承:
傳承有序邏輯清晰語(yǔ)法簡(jiǎn)單隱患少
功能不能擴(kuò)展,只能在當(dāng)前唯一的繼承鏈中擴(kuò)展
2、多繼承:
優(yōu)點(diǎn):類(lèi)的功能擴(kuò)展方便
缺點(diǎn):繼承關(guān)系混亂
補(bǔ)充:關(guān)于多繼承的MRO
1、MRO就是多繼承中,用于保存繼承順序的一個(gè)列表;
2、python本身采用C3算法來(lái)多繼承的菱形繼承來(lái)進(jìn)行計(jì)算的結(jié)果。
3、MRO列表的計(jì)算原則:
子類(lèi)永遠(yuǎn)在父類(lèi)前面;
如果多個(gè)父類(lèi),則根據(jù)繼承語(yǔ)法中括號(hào)內(nèi)類(lèi)的書(shū)寫(xiě)順序存放;
如果多個(gè)類(lèi)繼承了同一個(gè)父類(lèi),孫子類(lèi)中只會(huì)選取繼承語(yǔ)法;
括號(hào)中第一個(gè)父類(lèi)的父類(lèi)。
以上就是python單繼承和多繼承如何定義,希望能對(duì)大家有所幫助,更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。