久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > python允許繼承嗎

python允許繼承嗎

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-10 14:17:25 1699597045

繼承是面向?qū)ο蟮娜筇卣髦唬彩菍?shí)現(xiàn)代碼復(fù)用的重要手段。繼承經(jīng)常用于創(chuàng)建和現(xiàn)有類功能類似的新類,又或是新類只需要在現(xiàn)有類基礎(chǔ)上添加一些成員(屬性和方法),但又不想直接將現(xiàn)有類代碼復(fù)制給新類。

例如,有一個(gè)Shape類,該類的draw()方法可以在屏幕上畫出指定的形狀,現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)Rectangle類,要求此類不但可以在屏幕上畫出指定的形狀,還可以計(jì)算出所畫形狀的面積。要?jiǎng)?chuàng)建這樣的Rectangle類,除了將draw()方法直接復(fù)制到新類中,并添加計(jì)算面積的方法,其實(shí)還有更簡(jiǎn)單的方法,即讓Rectangle類繼承Shape類,這樣當(dāng)Rectangle類對(duì)象調(diào)用draw()方法時(shí),Python解釋器會(huì)自動(dòng)去Shape類中調(diào)用該方法,如此,我們只需在Rectangle類中添加計(jì)算面積的方法即可。

Python中,實(shí)現(xiàn)繼承的類稱為子類,被繼承的類稱為父類(也可稱為基類、超類)。子類繼承父類的語(yǔ)法是:在定義子類時(shí),將多個(gè)父類放在子類之后的圓括號(hào)里。語(yǔ)法格式如下:

class類名(父類1,父類2,...):

#類定義部分

注意,Python的繼承是多繼承機(jī)制,即一個(gè)子類可以同時(shí)擁有多個(gè)直接父類。

從上面的語(yǔ)法格式來(lái)看,定義子類的語(yǔ)法非常簡(jiǎn)單,只需在原來(lái)的類定義后增加圓括號(hào),并在圓括號(hào)中添加多個(gè)父類,即可表明該子類繼承了這些父類。如果在定義一個(gè)Python類時(shí),并未顯式指定這個(gè)類的直接父類,則這個(gè)類默認(rèn)繼承object類。

object類是所有類的父類,要么是直接父類,要么是間接父類。

父類和子類的關(guān)系,就好像水果和蘋果的關(guān)系,蘋果是一種特殊的水果,蘋果是水果的子類,水果是蘋果的父類,因此可以說(shuō),蘋果繼承了水果。不僅如此,由于子類是一種特殊的父類,因此父類包含的范圍總比子類包含的范圍要大,所以可以認(rèn)為父類是大類,而子類是小類。

從實(shí)際意義上看,子類是對(duì)父類的擴(kuò)展,子類是一種特殊的父類。從這個(gè)意義上看,使用繼承來(lái)描述子類和父類的關(guān)系是錯(cuò)誤的,用擴(kuò)展更恰當(dāng)。因此,這樣的說(shuō)法更加準(zhǔn)確:蘋果擴(kuò)展了水果這個(gè)類。

下面程序示范了子類繼承父類的特點(diǎn)。下面是Fruit類的代碼:

classFruit:

definfo(self):

print("我是一個(gè)水果!重%g克"%self.weight)

classFood:

deftaste(self):

print("不同食物的口感不同")

#定義Apple類,繼承了Fruit和Food類

classApple(Fruit,Food):

pass

#創(chuàng)建Apple對(duì)象

a=Apple()

a.weight=5.6

#調(diào)用Apple對(duì)象的info()方法

a.info()

#調(diào)用Apple對(duì)象的taste()方法

a.taste()

運(yùn)行結(jié)果為

我是一個(gè)水果!重5.6克

不同食物的口感不同

上面程序中,定義了兩個(gè)父類:Fruit類和Food類,接下來(lái)定義了一個(gè)Apple類,該類本身是空類,但其繼承自Food類和Fruit類。因此,在主程序部分創(chuàng)建了Apple對(duì)象之后,可以訪問Apple對(duì)象的info()和taste()方法,這表明Apple對(duì)象也具有了info()和taste()方法,這就是繼承的作用,即子類擴(kuò)展(繼承)了父類,將可以繼承得到父類定義的方法,這樣子類就可復(fù)用父類的方法了。

以上內(nèi)容為大家介紹了Python培訓(xùn)之允許繼承嗎,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT