掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
方法重寫

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的龍川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
基類(被繼承的類)的成員都會被派生類(繼承的新類)繼承,當(dāng)基類中的某個方法不完全適用于派生類時,就需要在派生類中重寫父類的這個方法。
如下面的示例代碼,基類中定義的harvest()方法,無論派生類是什么水果都顯示"水果…",如果想要針對不同水果給出不同的提示,可以在派生類中重寫harvest()方法。例如,在創(chuàng)建派生類Orange()時,重寫harvest()方法如下:
class Fruit:
color = '綠色'
def harvest(self, color):
print(f"水果是:{color}的!")
print("水果已經(jīng)收獲...")
print(f"水果原來是{Fruit.color}的!")
class Apple(Fruit):
color = "紅色"
def __init__(self):
print("我是蘋果")
class Orange(Fruit):
color = "橙色"
def __init__(self):
print("\n我是橘子")
def harvest(self, color): # 重寫harvest
print(f"橘子是:{color}的!")
print("橘子已經(jīng)收獲...")
print(f"橘子原來是{Fruit.color}的!")
apple = Apple() # 實例化Apple()類
apple.harvest(apple.color) # 在Apple()中調(diào)用harvest方法,并將Apple()的color變量傳入
orange = Orange()
orange.harvest(orange.color) # 在Orange()中調(diào)用harvest方法,并將Orange()的color變量傳入
執(zhí)行結(jié)果:
我是蘋果
水果是:紅色的!
水果已經(jīng)收獲...
水果原來是綠色的!
我是橘子
橘子是:橙色的!
橘子已經(jīng)收獲...
橘子原來是綠色的!注意:如本類中和父類同時存在這個方法名稱,將只會執(zhí)行本類中的這個方法,不會調(diào)用父類的同名方法(包括__init__())

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流