繼承是面向?qū)ο蟮娜筇卣髦?,也是?shí)現(xiàn)代碼復(fù)用的重要手段。繼承經(jīng)常用于創(chuàng)建和現(xiàn)有類(lèi)功能類(lèi)似的新類(lèi),又或是新類(lèi)只需要在現(xiàn)有類(lèi)基礎(chǔ)上添加一些成員(屬性和方法),但又不想直接將現(xiàn)有類(lèi)代碼復(fù)制給新類(lèi)。
python中,實(shí)現(xiàn)繼承的類(lèi)稱(chēng)為子類(lèi),被繼承的類(lèi)稱(chēng)為父類(lèi)(也可稱(chēng)為基類(lèi)、超類(lèi))。子類(lèi)繼承父類(lèi)的語(yǔ)法是:在定義子類(lèi)時(shí),將多個(gè)父類(lèi)放在子類(lèi)之后的圓括號(hào)里。語(yǔ)法格式如下:
class類(lèi)名(父類(lèi)1,父類(lèi)2,...):
#類(lèi)定義部分
注意,Python的繼承是多繼承機(jī)制,即一個(gè)子類(lèi)可以同時(shí)擁有多個(gè)直接父類(lèi)。
下面程序示范了子類(lèi)繼承父類(lèi)的特點(diǎn)。下面是Fruit類(lèi)的代碼:
classFruit:
definfo(self):
print("我是一個(gè)水果!重%g克"%self.weight)
classFood:
deftaste(self):
print("不同食物的口感不同")
#定義Apple類(lèi),繼承了Fruit和Food類(lèi)
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è)父類(lèi):Fruit類(lèi)和Food類(lèi),接下來(lái)定義了一個(gè)Apple類(lèi),該類(lèi)本身是空類(lèi),但其繼承自Food類(lèi)和Fruit類(lèi)。因此,在主程序部分創(chuàng)建了Apple對(duì)象之后,可以訪問(wèn)Apple對(duì)象的info()和taste()方法,這表明Apple對(duì)象也具有了info()和taste()方法,這就是繼承的作用,即子類(lèi)擴(kuò)展(繼承)了父類(lèi),將可以繼承得到父類(lèi)定義的方法,這樣子類(lèi)就可復(fù)用父類(lèi)的方法了。
以上內(nèi)容為大家介紹了Python培訓(xùn)之類(lèi)的繼承機(jī)制,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。