python繼承類中如何重寫?
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
1、重寫的類別
(1)重寫和父類的方法名稱一樣。但是在子類里面,重新實(shí)現(xiàn)。
(2)保留父類的做法,在它的基礎(chǔ)上再擴(kuò)展其它的內(nèi)容。(擴(kuò)展方式:super())
super()的2種表達(dá):
super().方法(參數(shù)列表)
super(子類名,self).方法(參數(shù)列表)
2、重寫實(shí)例
Animal的子類Cat繼承了父類的屬性和方法,但是我們貓類Cat有自己的叫聲'喵喵',這時我們可以對父類的Call()方法進(jìn)行重構(gòu)。如下:
classCat(Animal):
def__init__(self,name,age,sex):
super(Cat,self).__init__(name,age)
self.sex=sex
defcall(self):
print(self.name,'會“喵喵”叫')
if__name__=='__main__':
c=Cat('喵喵',2,'男')
c.call()#輸出:喵喵會“喵喵”叫
類方法的調(diào)用順序,當(dāng)我們在子類中重構(gòu)父類的方法后,Cat子類的實(shí)例先會在自己的類Cat中查找該方法,當(dāng)找不到該方法時才會去父類Animal中查找對應(yīng)的方法。
為了方法的快速調(diào)用,我們會從父類那里繼承方法,放在子類的使用上。但這樣也會產(chǎn)生一種問題,子類全部顯示的是父類的類別,而沒有自身特性進(jìn)行區(qū)分。這時候方法的重寫就很有必要了。
以上就是python繼承類中重寫的方法,在遇到子類不能區(qū)分的問題時,大家就可以通過重寫方法來辨別啦。學(xué)會后快試試重寫的使用吧。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。