多重继承

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多重继承相关的知识,希望对你有一定的参考价值。

多重继承即一个子类可以继承多个父类

#!/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

 

 

 

 

 

 

 

     

以上是关于多重继承的主要内容,如果未能解决你的问题,请参考以下文章

C++--被遗弃的多重继承经典问题

在不使用多重继承的情况下避免代码重复

Extjs 多重继承?

Python ABC 多重继承

Lua多重继承

第53课 被遗弃的多重继承