這篇文章給大家分享的是有關(guān)python中繼承機(jī)制的詳細(xì)簡(jiǎn)介的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、廬江ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的廬江網(wǎng)站制作公司
面向?qū)ο蟮闹饕锰幘褪谴a的重用,實(shí)現(xiàn)這一特點(diǎn)通過(guò)繼承,繼承創(chuàng)建的新類(lèi)成為子類(lèi),被繼承的類(lèi)稱(chēng)為父類(lèi)。
如果在子類(lèi)中需要父類(lèi)的構(gòu)造方法就需要顯示的調(diào)用父類(lèi)的構(gòu)造方法,在調(diào)用基類(lèi)的方法時(shí),需要加上基類(lèi)的類(lèi)名前綴,且需要帶上 self 參數(shù)變量。
下面我們開(kāi)始來(lái)講解繼承和多繼承
首先我們創(chuàng)建兩個(gè)類(lèi),
父類(lèi):Father類(lèi) 子類(lèi):Child
父類(lèi)中屬性為money,和一個(gè)方法play(),輸出
father play with me
來(lái)表示繼承父類(lèi)的方法。在繼承的時(shí)候我們需要在子類(lèi)中導(dǎo)入父類(lèi)
父類(lèi)的代碼如下:
class Father(object): def __init__(self,money): self.money=money print('money',money) def play(self): print('father play with me')
因?yàn)楹⒆邮抢^承父親的,所以孩子類(lèi)中也有money屬性。 所以我們直接用child來(lái)繼承Father類(lèi)。
child代碼如下:
from Father import Father class Child(Mother,Father): def __init__(self,money): Father.__init__(self, money)
這個(gè)時(shí)候我們的child類(lèi)就繼承來(lái)自父類(lèi)的屬性 money 而且我們還繼承了來(lái)自父類(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類(lèi)
class Mother(object): def __init__(self,face): self.face=face print('face',face) def play(self): print('mother go shopping with me')
mothe類(lèi)創(chuàng)建的屬性為face,其次我們還定義的一個(gè)相同的方法play 是為了展示多繼承中如果有相同的函數(shù)會(huì)調(diào)用哪個(gè)。
然后我們重寫(xiě)一下child類(lèi)
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ò),可以把它分享出去讓更多的人看到吧!