python學習day24 繼承 派生
阿新 • • 發佈:2018-11-16
class A(object):pass # 父類,基類,超類 object是類祖宗,一般預設不寫 class B:pass # 父類,基類,超類 class A_son(A,B):pass # 子類,派生類 class AB_son(A):pass # 子類,派生類 # 一個類 可以被多個類繼承 # 一個類 可以繼承多個父類 —— python裡 print(AB_son.__bases__) # 檢視父類 print(A.__bases__) # (<class 'object'>) 類祖宗
如果沒有__init__,就執行父類__init__
父類沒有的方法,子類有的:派生屬性
父類沒有的方法,子類有的:派生方法
class Animal: def __init__(self,name,aggr,hp): self.name = name self.aggr = aggr self.hp = hp def eat(self): print('吃藥回血') self.hp+=100 # class Dog(Animal):def __init__(self,name,aggr,hp,kind): Animal.__init__(self,name,aggr,hp) # self.kind = kind # 派生屬性 def eat(self): Animal.eat(self) # 如果既想實現新的功能也想使用父類原本的功能,還需要在子類中再呼叫父類 self.teeth = 2 def bite(self,person): # 派生方法 person.hp -= self.aggr jin= Dog('金老闆',100,500,'吉娃娃') jin.eat() # 呼叫子類,如果子類中沒有,呼叫父類的方法 print(jin.hp)