溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中繼承機(jī)制的詳細(xì)簡(jiǎn)介

發(fā)布時(shí)間:2020-08-06 09:27:46 來(lái)源:億速云 閱讀:301 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)python中繼承機(jī)制的詳細(xì)簡(jiǎn)介的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

面向?qū)ο蟮闹饕锰幘褪谴a的重用,實(shí)現(xiàn)這一特點(diǎn)通過(guò)繼承,繼承創(chuàng)建的新類成為子類,被繼承的類稱為父類。

如果在子類中需要父類的構(gòu)造方法就需要顯示的調(diào)用父類的構(gòu)造方法,在調(diào)用基類的方法時(shí),需要加上基類的類名前綴,且需要帶上 self 參數(shù)變量。

下面我們開(kāi)始來(lái)講解繼承和多繼承

首先我們創(chuàng)建兩個(gè)類,

父類:Father類  子類:Child

父類中屬性為money,和一個(gè)方法play(),輸出

father play with me

來(lái)表示繼承父類的方法。在繼承的時(shí)候我們需要在子類中導(dǎo)入父類

父類的代碼如下:

class Father(object):
    def __init__(self,money):
        self.money=money
        print('money',money)
    def play(self):
        print('father play with me')

因?yàn)楹⒆邮抢^承父親的,所以孩子類中也有money屬性。 所以我們直接用child來(lái)繼承Father類。

child代碼如下:

from Father import Father
class Child(Mother,Father):
    def __init__(self,money):
        Father.__init__(self, money)

這個(gè)時(shí)候我們的child類就繼承來(lái)自父類的屬性 money 而且我們還繼承了來(lái)自父類的方法play(),我們可以直接調(diào)用。

來(lái)驗(yàn)證一下

from Child import Child
    def main():
        c=Child(100)
        c.play()
if __name__=='__main__':
    main()

我們從輸出臺(tái)可以得到 money 100  father play with me

多繼承

單繼承有時(shí)候可能滿足不了我們所需的所以我們就會(huì)遇到多繼承,這個(gè)同樣能夠展示出代碼的重用。

同樣是上邊的例子,child不僅僅是繼承來(lái)自父親,還繼承來(lái)自母親。所以我們創(chuàng)建mother類

class Mother(object):
    def __init__(self,face):
        self.face=face
        print('face',face)
    def play(self):
        print('mother go shopping with me')

mothe類創(chuàng)建的屬性為face,其次我們還定義的一個(gè)相同的方法play 是為了展示多繼承中如果有相同的函數(shù)會(huì)調(diào)用哪個(gè)。

然后我們重寫(xiě)一下child類

from Father import Father
from Mother import Mother
class Child(Mother,Father):
    def __init__(self,money,face):
        Father.__init__(self, money)
        Mother.__init__(self,face)

感謝各位的閱讀!關(guān)于python中繼承機(jī)制的詳細(xì)簡(jiǎn)介就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI