class Bird:
def isWing(self):
print("鳥有翅膀")
def fly(self):
print("鳥會飛")
class Ostrich(Bird):
def fly(self):
print("鴕鳥不會飛")
ostrich = Ostrich()
ostrich.fly()
鴕鳥不會飛
如何調用被重寫的方法
事實上,如果我們在子類中重寫了從父類繼承來的類方法,那么當在類的外部通過子類對象調用該方法時,python總是會執行子類中的重寫的方法。
class Bird:
def isWing(self):
print("鳥有翅膀")
def fly(self):
print("鳥會飛")
class Ostrich(Bird):
def fly(self):
print("鴕鳥不會飛")
ostrich = Ostrich()
#調用 Bird 類中的 fly() 方法
Bird.fly(ostrich)
#通過類名調用實例方法的這種方式,又被稱為未綁定方法。
鳥會飛
注意:使用類名調用其類方法,python不會為該方法的第一個self參數自動綁定值,因此采用這種調用方法,需要手動為self參數賦值。