1. 程式人生 > >多重繼承

多重繼承

div 子類 print pre host .py nbsp 多個 父類

多重繼承即一個子類可以繼承多個父類

#!/usr/bin/python

class A(object):
    def aaa(self):
        print "aaa"

class B(object):
    def bbb(self):
        print "bbb"

class C(A, B):    # 子類 C 同時繼承了兩個父類 A 和 B
    pass

cn = C()          
cn.aaa()          # 可以直接調用父類的方法
cn.bbb()


當父類中出現多個自定義的__init__方法時,多重繼承只執行第一個父類的__init__方法,其他不執行:

[[email protected] ~]# cat 1.py
#!/usr/bin/python class A(object): def aaa(self): print "aaa" def __init__(self): print "A" class B(object): def bbb(self): print "bbb" def __init__(self): print "B" class C(A, B): # 這裏繼承了 A 的 __init__ 方法(誰在前面就先繼承誰的)
pass cn
= C() [[email protected] ~]# python 1.py # 執行結果可知只執行了第一個父類的__init__方法 A

多重繼承