多繼承
例如騾子,是驢和馬結合生下的。
由此可見,所謂多繼承,是子類有多個父類,並且具有他們的特征
python中多繼承的格式如下:
#定義一個父類 class A: def print(self): print'------A---------' #定義一個父類 class B: def print(self): print'------B---------' #定義一個子類,繼承自A、B class c(A,B): def printC(self): print'------C---------' obj_C = C() obj_C.printA() obj_C.printB()
說明
*python中是可以多繼承的
* 父類中的方法、屬性、子類會繼承
注意點:
思考:如果在上面的多繼承例子中,如果父類A和父類B中,有一個同名的方法,那么通過子類調用的時候,該調用哪個?
#coding=utf-8 class base(object): def test(self): print('-------base test-------') class A(base): def test(self): print('-------A test---------') #定義一個父類 class B(base): def test(self): print('-------B test---------') #定義一個子類,繼承自A、B class C(A、B): pass obj_C = C() obj_C.test() print(c._mro_) #可以查看c類的對象搜索方法的先后順序
*按照“廣度”進行遍歷,即先遍歷兄弟關系的類