python3 筆記20.類的呼叫和多重繼承(多重繼承MRO方法解析順序)
阿新 • • 發佈:2018-12-16
python3 類的多重繼承和 python2 的經典類相差比較遠,需要使用到MRO方法解析順序。
要是順序不對則無法正常繼承。這裡先簡單瞭解。到以後有機會使用再深度學習
# 類的呼叫也是遵循模組呼叫的兩種方式多重繼承:多個類間的互相繼承 # 多重繼承的寫法: class 類名(父類名,子類名) # 規則:相同方法名的方法以及框架都繼承父類,若不同名的方法則可以完全同時繼承 # coding:utf-8 from leijichenghechongxie import * class sun(son,father): #python3.x是新式類繼承的方法,MRO方法解析順序(Method Resolution Order)比較複雜。需要使用C3演算法 #這裡和python2.x不一樣,不能直接先繼承father方法。 def play(self): print("我%s要去玩了" % self.name) def drink(self): # 重寫了drink的方法 print("我%s還不會喝奶" % self.name) sun1 = sun('Jacksun', 0,"male") # 傳參時需要注意,優先繼承了son,即對應傳入兩個引數即可 sun1.work() #繼承到了father類的方法 sun1.drink() sun1.play()